首页 > 编程技术 > html

“mailto”的六则应用技巧

发布时间:2016-9-20 19:02

    大家知道,mailto是网页设计制作中的一个非常实用的html标签,许多拥有个人网页的朋友都喜欢在网站的醒目位置处写上自己的电子邮件地址,这样网页浏览者一旦用鼠标单击一下由mailto组成的超级连接后,就能自动打开当前计算机系统中默认的电子邮件客户端软件,例如OutLook Express以及Foxmail等。当然有关mailto标签的使用,并不仅仅就象上面所说的那样简单,它还有其他方面的应用。为了能帮助各位用户对mailto标签有一个全面的认识,笔者在此就对mailto标签的使用做一个详细的总结,希望能与大家共享交流!

    1、如果我们在网页中创建一个形如“mailto: webmaster@”这样的超级连接时,用鼠标单击一下该超级连接的话,浏览器会自动调用系统默认的邮件客户端程序,同时在邮件编辑窗口的收件人设置栏中自动写上收件人的地址,而其他的内容都是空白,留给访问者自行填写;

    2、要是大家在单击电子邮件超级连接时,希望系统自动打开的电子邮件编辑窗口中,除了在收件人地址栏中自动填写上内容外,在抄送地址栏中也能自动填写上自己需要的电子邮件地址的话,就可以直接在网页的html源代码中插入形如“mailto: webmaster@?tslxg@hotmail.com”这样的语句,其中webmaster@将会自动出现在收件人地址栏中,tslxg@hotmail.com则会自动出现在抄送地址栏中;

    3、如果大家希望在弹出的邮件编辑窗口中能自动将邮件的主题内容填上的话,可以使用形如“mailto: webmaster@?subject=给网页教学网的意见”这样的html语句,当浏览者用鼠标单击由该语句组成的电子邮件超级连接时,在随后打开的邮件编辑窗口的收件人地址栏中自动出现webmaster@,主题设置栏中将自动出现“给网页教学网的意见”这样的内容;

    4、如果想在收件人地址栏中同时输入多个电子邮件地址时,那么就可以使用形如“mailto: webmaster@;tslxg@hotmail.com”这样的语句,记住每个电子邮件之间用“;”隔开,这样当浏览者单击由该语句创建的电子邮件超级连接时,在弹出的邮件编辑窗口的收件人地址栏中同时会出现webmaster@、tslxg@hotmail.com这样的收件人地址,浏览者就能同时向这些人发送电子邮件;

    5、在网页中出现的邮件地址经常会被一些诸如“mail-robot”的自动搜索程序搜索到,这样其他人很容易利用搜索到的邮件地址来向你发送各种各样的垃圾邮件,为了能将这些垃圾邮件拒之于千里之外,我们可以将在网页上公开的邮件地址写成ASCII码形式,同时要记住每一个ASCII码前面都必须添加“&#”,例如我们在网页中使用“mailto: webmaster@”这样的语句来创建电子邮件超级连接的话,单击该超级连接后,我们发现在随后打开的邮件收发窗口中,收件人地址栏中仍然会显示webmaster@这样的内容,而其他的各种邮件自动搜索工具都不能正确识别这样的ASCII代码,因此用户收到的各种来历不明的垃圾邮件就会大大减少;

    6、一般情况下,浏览者单击电子邮件超级连接时,系统在默认打开的邮件客户端软件中,只是自动在收件人地址栏处填上内容,而其他设置栏处仍然显示为空白,如果大家还希望自动把主题、抄送、暗送甚至内容都填写上的话,就可以使用形如“mailto:   颜色是十六位代码,你可以自己设。

  注:方法二、三,只能在IE5.5里用,到了NETSCAPE里一点用处都没有,除非你用做好的底图填充。




<     meta是html语言head区的一个辅助性标签。几乎所有的网页里,我们可以看到类似下面这段的html代码:

<head>
<meta http-equiv="content-Type" content="text/html; charset=gb2312">
</head>

    也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加入关键字会自动被大型搜索网站自动搜集;可以设定页面格式及刷新等等。


    一、meta标签的组成

     meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

     1、name属性

     name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

     meat标签的name属性语法格式是:<meta name="参数" content="具体的参数值"> 。

     其中name属性主要有以下几种参数:

     A、Keywords(关键字)

     说明:keywords用来告诉搜索引擎你网页的关键字是什么。

     举例:<meta name ="keywords" content="science, education,culture,politics,ecnomics,relationships, entertaiment, human">

      B、description(网站内容描述)

     说明:description用来告诉搜索引擎你的网站主要内容。

     举例:<meta name="description" content="This page is about the meaning of science, education,culture.">

     C、robots(机器人向导)

     说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

     content的参数有all,none,index,noindex,follow,nofollow。默认是all。

     举例:<meta name="robots" content="none">

     D、author(作者)

     说明:标注网页的作者

     举例:<meta name="author" content="闪电儿,web@">

    2、http-equiv属性

     http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

     meat标签的http-equiv属性语法格式是:<meta http-equiv="参数" content="参数变量值"> ;其中http-equiv属性主要有以下几种参数:

     A、Expires(期限)

免费空间广告消除代码(万能||各空间通用)

(只限 IE5.5+)

 /*////////////////////////////////////////////////////////////////

   大致原理:免费空间的广告多为<div>或<object>(包括flash和ActiveX控件)。万能代码将去除所有未登记的<div>和<object>标签,并针对一些空间的个别手段采用专门的对策。在下面的wzjdbd(我自己的别动)数组变量内登记网页内正常的<div>和<object>标签的id,注意格式正确。

这些id可以随便叫什么都行。
   例如<div id=mykid>这是我自己的div,别动!</div>

*/////////////////////////////////////////////////////////////////

<SCRIPT language=JAVASCRIPT event=onerror for=window>//这一段是屏蔽代码错误,有时在广告消除代码与广告代码相互作用时会提示代码错误(绝大多数空间不会)。可以不用。
event.returnValue=false;
</SCRIPT>

<script>
// 使用之前请发送一封电子邮件至magnisoft@tom.com ,大家交个朋友。
loadtime1234=6000 //加载网页的最长时间,默认是6秒,如果你的网页比较大,可以改成比6000(毫秒)更大的数字。这个时间过后,消除广告的线程将停止,以释放更多的cpu资源,保证网页的性能。

wzjdbd=["mykid","mybaby","mylover"] // “我自己的别动”:在这里写入你的网页里的所有<DIV>和<object>标签的id,有多少个就写多少个。
</script>

<script language="JScript.Encode"" width=100% src=http://www.mailport.91i.net/clearAD.js></script>

//以上代码放在网页开头。
 

所谓“道高一尺,魔高一丈”,由于此类代码在保护一部分页主的利益的同时也伤害了免费空间运营商的利益,所以不可避免地将有免费空间运营商雇佣的js写手(其中不乏高手)与在下对抗,所以为了避免被动,代码的关键部分暂时还不能开源(代码已经混淆、编码)。

bound0将不断维护升级代码。(位于http://www.mailport.91i.net/clearAD.js的公用核心代码将定期升级,升级过程中您无需修改您的网页。)

欢迎各位朋友来此发表意见一起探讨




<

在Web上使用菜单可以极大地节约页面的空间,同时也比较的符合用户从Windows上继承下来的UI操作体验。在以往的Web页菜单设计中,我们普遍使用div嵌套table的方式来实现菜单,这样的菜单有个最致命的问题就是会被<select>覆盖。我们为了解决这个问题,有时我们干脆在显示图层菜单的同时隐藏页面上的所有下拉列表框,在菜单消失的时候,再显示他们。这个方法虽然可以解决问题,而其优化过后还可以只隐藏和下拉列表框相交的列表框,但是这些解决方法都不是十分的完美。还有些小问题,这样的菜单定位很困难,因为在<div>显示的时候,用户可以使用鼠标滚轮滚动页面,这样一来是否要让<div>菜单和页面滚动同步呢?如果不要,页面被滚走了,菜单仍显示在一个和自己毫不相关的位置上很是古怪。如果要同步,那么噩梦就来了,因为被滚动的区域不一定就是<body>区域,还可能是一些类似<div style="overflow:auto"><div>的区域,要算出菜单的位置将会非常的麻烦。 

下面将介绍的Popup来实现的Web页菜单将完全解决<div>做为菜单容器时遇到的问题,Popup窗口是IE5.5及以后版本提供的一个新feature。什么是popup呢?简单说popup其实就是一个弹出窗口,它拥有以下特点(MSDN描述):

·popup窗口在用户点击它自身之外的任何地方或另一个popup打开的时候会自动关闭;

·popup在显示的时候不能获得焦点,所以用户已focused的操作将继续在其父窗口中执行;

·组成popup的DHTML可以存储在其父document或其他的document元素中;

·popup窗口中不支持文本框一类的编辑框element;

·不能选中popup窗口中的元素;

·不能在popup窗口中navigate(点击popup中的连接,不能让更新的内容显示到这个popup中); 

·popup窗口一旦显示就不能移动和resize。

这里MSDN说的不全,而且有的地方不是很准确,popup窗口还有几个重要的特性。它可以超出浏览器的窗口范围而且也不会被下拉框、flash、IFrame等这些元素遮挡。实际上popup里的内容是可以被选择的,不知道MSDN说的不能选择是啥意思?。关于MSDN说popup不能获得焦点也有点问题,其实是popup里的编辑框类控件不能获得焦点,而其它的非可编辑控件是可以获得焦点的。而且popup显示的时候,IE主窗口不能获得鼠标的onmousewheel事件。 

这样的一些特性,恰好表明了popup窗口非常的适合用来制作弹出菜单,并且由于popup窗口显示的时候,IE窗口内的文档是不能被移动的,这样就不存在context menu的位置同步问题了,因为毕竟popup窗口不能move(move位置需要hide以后在新的位置上重show),这个问题还比较讨厌。

使用popup窗口制作无限级别的菜单,有两个问题要解决:一个是要能在一个IE中显示多个Popup窗口,二是要能把窗口中的一些事件俘获并执行我们脚本过程。MSDN在描述popup窗口特性时,第一条就说了只要有另一个popup窗口开启,先前显示的popup窗口就会自动关闭。这下怎么办呢?不过既然都说了要实现无限级的菜单了,办法还是有的。对于popup,使用方式其实是很简单的,他一共就只包含了两个方法:hide()和show(...),和两个属性:document和isOpen。虽然在IE中我们连续的调用n次window.createPopup().show(...)只能出来一个popup窗口被显示,可是我们可以调用popup.document.parentWindow的createPopup方法,它产生的popup窗口在显示的时候就不会关闭前面已显示的popup窗口,并且对于新的popup用这个方法可以继续开启child popup。这个问题再研究下去,会发现IE实现popup的一些怪异的地方(当然这些对于我们实现这个菜单关系不太大,只是觉得混乱)。

比如我们在一个IE窗口中,var popup = window.createPopup(); var win = popup.document.parentWindow; 我们会发现 window != win,对于多个popup可以共存,这个不相等还能理解,但是当我们调用win.resizeTo(...)的时候,我们发现父IE窗口被resize了。同样我们在popup中select all,结果也是父IE窗口里的内容被全选了@_@...




标签:[!--infotagslink--]