Javascript之<script>标签
把javascript代码插入到HTML页面中需要使用<script>标签,使用这个元素可以使javascript和html标记混合在一个页面中,也可以引入外部的javascript文件。<script>标签使用有几点说明。
1、包含外部javascript文件时,src属性指向文件的URL。这个URL可以跨域。使用带有src属性的<script>标签后,在<script src=""></script>中间不得包含javascript代码。如果包含了javascript代码,那依然只要下载解析外部文件,嵌入代码会被忽略。
2、所有的<script>元素会被浏览器按照在页面中定义的顺序解析,在不考虑defer和async属性的情况下,解析完成前一个元素才会解析后一个元素。
3、浏览器会先解析完成不含defer属性的<script>元素。
4、defer属性元素会按照顺序进行解析,defer只适用于外部文件引入。
5、async元素表示当前脚本不等待脚本、不阻塞浏览器,脚本加载时异步进行。
综上所述:浏览会按<script>出现的顺序执行脚本,加载脚本过程中是同步阻塞的;遇到defer的先跳过,async的加载执行。在页面完全载入完成前,会把defer的按顺序加载完全。同时具备defer和async的未测试。
关于文档模式
IE5.5引入的文档模式的概念,分为混杂模式(Quriks Mode)和标准模式(Standards Mode)。混在模式会让浏览器行为更接近IE5,标准模式让浏览器行为更接近标准行为。混在模式下各个浏览器的行为差别很大,需要做hack保证行为一致。