《JAVASCRIPT高级程序设计》第二章

时间:2023-12-16 17:39:02

  把javascript应用在网页中,需要涉及web的核心语言-html;如何让javascript既能与html共存,又不影响页面的显示效果,经过长时间的讨论、试错,最终的决定是为web增加统一的脚本支持。向html插入javascript最主要的做法,是借助<script>标签。

《JAVASCRIPT高级程序设计》第二章

如果不指定type,type默认是“text/javascript"

1)在页面嵌入JS代码

 <script type="text/javascript">
     function sayScript(){
         alert("<\/script>");
     }
 </script>

2)包含本地的js文件

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

3)包含外部的js文件

 <script type="text/javascript" src="http://somewhere/example.js"></script>  

  在XHTML中,一些HTML代码不能被正常解析,例如大于小于符号:>,<;解决办法有两个:1是使用HTML实体来替换,例如用&lt来替换<符号,但是这样导致代码不好理解;2是使用CDATA片段,该片段中的包含的任何内容都不会被解析;但是目前还有不少浏览器不兼容XHTML,因而不支持CDATA片段,所以我们需要使用javascript把CDATA标记注释掉:

 <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 more than b");
             }else{
                 alert("a is equal to b");
             }
         }
     // ]]>
 </script>

是不是颇有几分hack的味道呢?


    IE5.5引入了文档模式后,其他浏览器纷纷效仿;目前的文档模式分为以下几种:

《JAVASCRIPT高级程序设计》第二章


  早期的浏览器面临着一个问题,即当浏览器不支持javascript时如何平稳退化,这个问题的最终解决方案是设计一个<noscript>元素,里面的内容只有在符合如下任意一个条件的情况下才会显示出来:

  • 浏览器不支持脚本
  • 浏览器支持脚本,但脚本被禁用
 <html>
     <head>
         <title>Example page</title>
         <script type="text/javascript" defer="defer" src="example1.js"></script>
         <script type="text/javascript" defer="defer" src="example2.js"></script>
     </head>
     <body>
         <noscript>
             <p>本页需要浏览器支持(启用)javascript脚本。</p>
         </noscript>
     </body>
 </html>