通过网页版邮箱的实现“联系我们”
最近的项目中有一个监督投诉的栏目。这块的初始设计和其它站点类似,就是通过“mailto:邮件地址” 实现这个功能。这样能够实现本地client的响应。
可是。客户对这个方式不惬意。事实上我们细致想想也是,对于普通的网友,他们使用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 ‘‘;
}
};
如今唯一待完好的地方就是当跳转到响应的邮箱登录页,不能把用户之前输入的邮箱传过来。使得用户须要多输入一次。
不知道还有没有更好的实现方式,望大家多多不吝赐教!