zoukankan      html  css  js  c++  java
  • Javascript高级程序设计读书笔记(第二章)

    第二章  在HTML中使用Javascript

    2.1<script>元素

    延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到整个页面都解析完毕后再运行。相当于告诉浏览器立即下载,但延迟执行。HTML5规定要求脚本按照它们出现的先后顺序执行。

    异步脚本(async)如果有多个脚本文件,执行顺序不确定,指定async属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。

    XHTML代码的规则比编写HTML严格得多,下面的代码块在HTML中是有效地,但是在XHMTL中是无效的

    <script type="text/javascript">
        function compare(a, b) {
            if(a < b) {
                alert("A is less than B");
            } else if (a > b) {
                alert("A is greater than B"):
            } else {
                alert("A is equal to B");
            }
      }
    </script>

      在XHTML中<(小于号)在XHMTL中将被当作开始一个新标签来解析,但是作为标签来讲,小于号后面不能跟空格,因此导致语法错误。可以使用&lt;代替小于号。

      保证能再XHTML中能正常执行的另外一个方式是用一个CData片段来包含Javascript代码,如下所示

    <script type="text/javascript"><![CDATA{
        function compare(a, b) {
            if(a < b) {
                alert("A is less than B");
            } else if (a > b) {
                alert("A is greater than B"):
            } else {
                alert("A is equal to B");
            }
      }
    }]></script>

      在兼容CDATA的浏览器中,该方法可以解决问题,还有不少浏览器不兼容XHTML,不支持CDATA片段,使用Javascript注释掉标记即可,如下所示

    <script type="text/javascript">
    //<![CDATA{
        function compare(a, b) {
            if(a < b) {
                alert("A is less than B");
            } else if (a > b) {
                alert("A is greater than B"):
            } else {
                alert("A is equal to B");
            }
      }
    //}]>
    </script>

    2.3文档模式

           混杂模式(quirks mode)会让IE的行为与IE5相同,

           标准模式(standards mode)让IE的行为更接近标准行为。

           这两种模式主要影响CSS内容的呈现,但在某些情况下也会影响到Javascript的解释执行。

           如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式,不推荐这种做法,不同浏览器在这种模式下的行为差异非常大。

      IE又提出了一种准标准模式(almost standards mode),这种模式下的浏览器很多都是符合标准的。准标准模式可以通过过渡型或框架集型文档类型来触发。

    2.4 <noscript>元素

      包含在<noscript>元素中的内容只有在下列情况下才会显示出来:

    • 浏览器不支持脚本
    • 浏览器支持脚本,但脚本被禁用

      符合上述任何一个标准,浏览器都会显示<noscript>中的内容

     

  • 相关阅读:
    js键盘事件以及键盘事件拦截
    GO-&获取地址与*解引用
    Go-map
    第22课
    第21课
    第20课
    基于spring+quartz的分布式定时任务框架
    DeepLearning (三) 预处理:主成分分析与白化
    白化whitening
    如何使用RestTemplate访问restful服务
  • 原文地址:https://www.cnblogs.com/donghualei/p/4666611.html
Copyright © 2011-2022 走看看