通过网页版邮箱的实现“联系我们”
2015-07-27 22:51
357 查看
近期的项目中有一个监督投诉的栏目,这块的初始设计和其他网站类似,就是通过“mailto:邮件地址” 实现这个功能。这样可以实现本地客户端的响应。
但是,客户对这个方式不满意。其实我们仔细想想也是,对于普通的网友,他们使用outlook或者Foxmail的比例是相对低的,大部分人使用的是网页版的邮箱。所以,把监督投诉的这个功能设置成跳转邮箱登录页面相对更加的人性化。
下面就讲一下我是怎么实现的。
我把页面设置成了类似如图的样式:
然后根据用户输入邮箱,跳转到相应的邮箱登录页面。
原理就是根据输入的邮箱地址,截取@后面的部分,然后动态拼出邮箱域名。
具体代码如下;
不知道还有没有更好的实现方式,望大家多多指教!
但是,客户对这个方式不满意。其实我们仔细想想也是,对于普通的网友,他们使用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 ''; } };现在唯一待完善的地方就是当跳转到响应的邮箱登录页,不能把用户之前输入的邮箱传过来,使得用户需要多输入一次。
不知道还有没有更好的实现方式,望大家多多指教!
相关文章推荐
- 央视为什么要剑指谷歌
- 央视为什么要剑指谷歌
- angular.js初探
- jQuery整体架构
- 解码OutOfMemoryError:PermGen Space
- JS判断对象是否存在的10种方法
- 浅析jQuery核心架构中应用Closure(闭包)的设计模式
- [BZOJ2748] [HAOI2012]音量调节
- POJ 2594 — Treasure Exploration 最小路径覆盖
- 使用canvas制作在线画板
- ios数据存储
- [LeetCode] Different Ways to Add Parentheses
- C#面向对象的基础
- Ajax技术的优缺点
- AdaBoost
- 黑马程序员--iOS--C基础(指针)
- js中this的用法小结
- Eclipse 快捷键
- Memcached实现内存缓存(一)
- hdu2643 map练习