跳至侧栏

Ch2 Javascript In HTML

1.</script>标签

    在一对<script>和</script>标签内部不可以再出现</script>,否则会引发错误。要解决此问题,可以使用转义字符。例如,下面的代码会出现错误:

   <script type=”text/javascript”>
      function sayScript(){
         alert(“</script>”);
      }
   </script>
   但是,下面的代码不会出现错误:
   <script type=”text/javascript”>
      function sayScript(){
         alert(“<\/script>”);  //使用了转义字符
      }
   </script>

 

2.XHTML中的JavaScript

 (1)XHTML中引入外部脚本的方式如下:

   
   <script type=”text/javascript” src=”example.js” />

 

   (2)XHTML中<script>和</script>内部的脚本中不可出现小于符号“<”,否则会按照XHTML元素的开始标签处理。可以利用XHTML中的CDATA块来解决此问题。考虑到一些浏览器对HTML的兼容性不是很好,因此,在声明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>
    
3.<script>标签的属性

   (1) language 属性不赞成使用,已被 type 属性替代。type 属性在HTML5中不是必须的,但 XHTML 中是必须的。
   (2)如果 async 属性为 true,则脚本会相对于文档的其余部分异步执行,这样脚本会可以在页面继续解析的过程中来执行。
      如果 async 属性为 false,而 defer 属性为 true,则脚本会在页面完成解析时得到执行。
      如果 async 和 defer 属性均为 false,那么脚本会立即执行,页面会在脚本执行完毕继续解析。
      async 和 defer 属性只适用于引入外部脚本的 <script> 标签中。最好外部脚本不   会改变HTML文档的DOM结构。

 

4.<noscript>元素

 

   该元素中可以包含除了 <script> 元素外的任何元素或内容,内容会在不支持JavaScript以及 JavaScript 被禁用的浏览器中被呈现。如果浏览器支持且未禁用JavaScript,则内容不会被呈现。
posted @ 2012-12-26 15:37  JiayangShen  阅读(256)  评论(0编辑  收藏  举报
Top
推荐
收藏
关注
评论