最近的项目中有一个监督投诉的栏目。这块的初始设计和其它站点类似,就是通过“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 ‘‘; } };
如今唯一待完好的地方就是当跳转到响应的邮箱登录页,不能把用户之前输入的邮箱传过来。使得用户须要多输入一次。
不知道还有没有更好的实现方式,望大家多多不吝赐教!
时间: 2024-11-07 16:16:08