太狼文摘 记录 & 思辨

Web标志(The Mark of The Web)摘记

技术 - 2012/10/24

最近在读《HTML5秘籍》(HTML5:The Missing Manual),瞬间对HTML 5又加深了认识。之前做初心社区以及自己写WordPress主题的时候,对HTML 5就有了解和实践,但是都是碎片化的,知其然不知其所以然。《HTML5秘籍》这本书很系统地从基础开始剖析HTML 5技术,对article、section等标签都有了新的认识——主要是哪些情境下用。

其中的Web标志(the mark of the Web)这个细节很有意思,也是我从这本书中学到的知识点。解决的主要问题是:IE浏览器环境下,如果一个网页中需要加载JavaScript文件,则默认安全设置的IE浏览器会弹出对话框,提醒用户是否“允许加载阻止的内容”(IE浏览器将JavaScript脚本列入了安全考虑范围)。点击允许后,才会执行JavaScript代码,这很会影响网站的体验。为了解决此问题,就需要运用Web标志(Mark of The Web)。

什么是Web标志?简单说来,就是一行特殊的注释,告诉Internet Explorer将页面视为从远程网站上下载下来,即该页面是在本地安全环境下运行的,而不是加载的外界区域的不明文件。具体如下:

<head>
  <meta charset="utf-8">
  <!-- saved from url=(0014)about:internet -->    #通用注释
  <title>A Tiny HTML Document</title>
  <script src="script.js"></script>
</head>

  <!-- saved from url=(0023)http://www.hoowolf.net/ -->    #具体环境的注释
# url=()中的数值表示的是括号后面字符数,例如通用的about:internet有十四个字符 #

具体的细节可以参见官方资料Mark of the Web

我也有几个问题:

  • 对于此注释,官方资料的评论里也有一些人提出了一些疑问,如果加了注释后,网页相当于是从本地缓存里读取加载,可能会影响一些Javascript代码及其他一些代码效果。是否属实?
  • 其实很多网站(例如:豆瓣)都没有加载这个注释,所以这个注释细节是否具有实际价值?
  • 《HTML5秘籍》里提及,这行注释要放在指定字符编码的元数据标签后面,但微软的官方文档代码实例却放在了<!doctype html>后面,匪夷所思?

不知道有没有前端攻城师能解答一下?不甚感激…



扫一扫分享到微信
分享到微信

无觅相关文章插件,快速提升流量