小谈html mailto sheme

简介:

引入:

上sprint我们项目组用到了mailto sheme,在href中,我也有兴趣稍花了点时间研究了下。


实践

如果页面中的链接用到了mailto sheme如下:

114649652.png


则当在页面中点击如下超级链接时:

114736564.png


它自动会打开OutLook 并且吧所有的我们href中内容都自动填入进去:

114840606.png


现在我们来研究这个mailto theme的机理:


很显然,根据我的学习习惯,会先去找RFC 中的说明,我们在如下页面找到了:

http://tools.ietf.org/html/rfc6068


快速阅读了一下,发现这段话讲解了http shememailtosheme在页面上被点击后发生的事情:

114938294.png


可以看出:对于解析的url包含http sheme,则会引起客户端软件(浏览器)和交互服务器的立即交互,也就是说,当一个hrefhttp://xxxx,时候,会立马找到浏览器并且发送请求url,于是这就是超级链接的本质。而对于mailto scheme,则会让客户端软件创建一个消息,吧mailto后面的url和参数依次填入,但是不会立马发送,而是等用户编辑完再发送。



而根据我的已有知识,当页面上点击http sheme时候,它启动的浏览器是你当前页面所在的浏览器,否则是从注册表中找到默认的浏览器。

按照类比的思路,我们可以断定,这个mailto sheme所触发的邮件客户端应该也是从注册表中找的


而RFC的制定,所有的主流浏览器都必须遵守这些RFC 规范,所以所有浏览器中实验,其结果都是一样的。


我们看下注册表在HKEY_CLASSES_ROOT下:

115022445.png


这个command的默认值是:

115112192.png


所以,这里可以看出,我们的mailto标签会默认激活OUTLOOK.EXE,因为我们注册表中默认的是打开OUTLOOK.EXE


所以我们只要在自己的客户端机器上安装了其他电子邮件应用,比如outlook express或者Foxmail,并且在这里吧这个键值指向相应的可执行文件,就可以让mailto标签触发打开相应的邮件编辑器了我昨晚在家实验了下,完全正确



总结;

(1)mailto sheme是可以触发用户打开电子邮件客户端的sheme.

(2)具体打开哪个客户端,由注册表中的设定为准,你可以配置这个设定来让mailto触发打开不同的邮件客户端,如果你设置了一个错误的客户端执行文件路径或者乱填,那么这个mailto 被点击后什么都不触发。





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1309597,如需转载请自行联系原作者
目录
相关文章
|
15天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
6天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
10天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
10天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
17天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
18天前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
13 0
|
22天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性
|
1月前
使用html+css制作一个发光立方体特效
使用html+css制作一个发光立方体特效
23 2
使用html+css制作一个发光立方体特效
|
1月前
超简单的html+css魔幻霓虹灯文字特效
超简单的html+css魔幻霓虹灯文字特效
13 3
超简单的html+css魔幻霓虹灯文字特效