最近在读《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>后面,匪夷所思?
不知道有没有前端攻城师能解答一下?不甚感激…