JavaScript系列:《JavaScript高级程序设计》,chapter2, 在html中使用JavaScript

时间:2022-10-17 15:36:44

2.1.2 延迟脚本

    指的是defer属性,且只适用于外部脚本,也就是有defer属性的脚本。
    由于各种延迟浏览器对延迟脚本的支持不统一,且在html5之后也不再支持defer属性,所以把延迟脚本放在页面底部仍然是最佳选择。

2.1.3 异步脚本
    <script type="text/javascript" async src="example1.js"></script>
    <script type="text/javascript" async src="example2.js"></script>
    第二个脚本可能会在第一个脚本之前执行,因此确保两个脚本之间互相不依赖非常重要。
    指定async属性的目的是不让页面等待两个脚本下载和执行,从而异步的加载页面的其他内容。因此,建议异步脚本不要在加载期间修改DOM。
    异步脚本一定会在页面的load事件之前执行,但是可能会在DOMContentLoaded事件触发之前或者之后执行。
    
2.1.4 在XHTML中的用法
    只有这样的格式才可以在各种浏览器中都支持,虽然有点hack的味道。
  1. <script type="text/javascript">
  2. <![CDATA[
  3. function compare(a, b){
  4. if(a<b)
  5. alert("A is less than B");
  6. else if(a>b)
  7. alert("A is greater than B");
  8. else
  9. alsert("A is equal B");
  10. }
  11. ]]>
  12. </script>

2.3 文档模式
准标模式和标准模式非常接近,他们的差异可以忽略不计。因此当有人提出“标准模式” 的时候,有可能是这两种模式中的任何一种。

2.4 <noscript>元素
  1. <body>
  2. <noscript>
  3. <p> 页面需要浏览器支持</p>
  4. </noscript>
  5. </body>
这个页面会在脚本无效的情况下向用户显示一条消息。而在启用了脚本的浏览器中,用户永远也不会看到。