您的位置:首页 > 其它

通过网页版邮箱的实现“联系我们”

2015-07-27 22:51 357 查看
  近期的项目中有一个监督投诉的栏目,这块的初始设计和其他网站类似,就是通过“mailto:邮件地址” 实现这个功能。这样可以实现本地客户端的响应。

  但是,客户对这个方式不满意。其实我们仔细想想也是,对于普通的网友,他们使用outlook或者Foxmail的比例是相对低的,大部分人使用的是网页版的邮箱。所以,把监督投诉的这个功能设置成跳转邮箱登录页面相对更加的人性化。

  下面就讲一下我是怎么实现的。

  我把页面设置成了类似如图的样式:




  然后根据用户输入邮箱,跳转到相应的邮箱登录页面。

  原理就是根据输入的邮箱地址,截取@后面的部分,然后动态拼出邮箱域名。

具体代码如下;

var i = 0;
function copyContact() { //目前这个方法只适用于ie、猎豹等浏览器,想要兼容其他更多的浏览器,自行上网查资料
    var contat = document.getElementById("contact1").value;
    window.clipboardData.setData('text', contat);
    if (window.clipboardData.getData('text') == '') {
        if (i == 1) {
            alert("复制失败,请手动复制!");
        } else {
            alert("复制失败,请重新复制!");
            i = 1;
        }
    } else {
        alert("内容已经复制到剪贴板!");
    }
}

function test() {
    var uurl = $("#email").val();
    uurl = gotoEmail(uurl);
    if (uurl != "") {
        //$("#toopen").attr("href", "http://" + uurl);
        //$("#toopen")[0].click();
        window.open("http://" + uurl);
    } else {
        alert("抱歉!未找到对应的邮箱登录地址,请自己登录邮箱查看邮件!");
    }
}

//功能:根据用户输入的Email跳转到相应的电子邮箱首页
function gotoEmail($mail) {
    $t = $mail.split('@')[1];
    $t = $t.toLowerCase();
    if ($t == '163.com') {
        return 'mail.163.com';
    } else if ($t == 'vip.163.com') {
        return 'vip.163.com';
    } else if ($t == '126.com') {
        return 'mail.126.com';
    } else if ($t == 'qq.com' || $t == 'vip.qq.com' || $t == 'foxmail.com') {
        return 'mail.qq.com';
    } else if ($t == 'gmail.com') {
        return 'mail.google.com';
    } else if ($t == 'sohu.com') {
        return 'mail.sohu.com';
    } else if ($t == 'tom.com') {
        return 'mail.tom.com';
    } else if ($t == 'vip.sina.com') {
        return 'vip.sina.com';
    } else if ($t == 'sina.com.cn' || $t == 'sina.com') {
        return 'mail.sina.com.cn';
    } else if ($t == 'tom.com') {
        return 'mail.tom.com';
    } else if ($t == 'yahoo.com.cn' || $t == 'yahoo.cn') {
        return 'mail.cn.yahoo.com';
    } else if ($t == 'tom.com') {
        return 'mail.tom.com';
    } else if ($t == 'yeah.net') {
        return 'www.yeah.net';
    } else if ($t == '21cn.com') {
        return 'mail.21cn.com';
    } else if ($t == 'hotmail.com') {
        return 'www.hotmail.com';
    } else if ($t == 'sogou.com') {
        return 'mail.sogou.com';
    } else if ($t == '188.com') {
        return 'www.188.com';
    } else if ($t == '139.com') {
        return 'mail.10086.cn';
    } else if ($t == '189.cn') {
        return 'webmail15.189.cn/webmail';
    } else if ($t == 'wo.com.cn') {
        return 'mail.wo.com.cn/smsmail';
    } else if ($t == '139.com') {
        return 'mail.10086.cn';
    } else {
        return '';
    }
};
  现在唯一待完善的地方就是当跳转到响应的邮箱登录页,不能把用户之前输入的邮箱传过来,使得用户需要多输入一次。

  不知道还有没有更好的实现方式,望大家多多指教!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: