HTML引用JavaScript

简述:

    只要一提到把JavaScript放到网页当中,就不得不涉及Web的核心语言——HTML。在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何组做到让JavaScript既能与HTML页面共存,又不影响那些页面在其他浏览器的呈现效果。经过尝试、纠错和争论,最终的决定就是为Web增加统一的脚本支持。而Web诞生早期的很多做法也就保留了下来,并被正式纳入HTML规范当中。

<script>元素介绍

    向HTML页面中插入JavaScript的主要方法,就是使用<script>元素。这个元素由Netscape创造并在Netscape Navigator2 中首先实现。后来这个元素正式被加入到HTML的规范当中。HTML4.01为<script>定义了下列6个属性:
    ① async : 可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
    ② charset : 可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人使用。
    ③ defer : 可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7 及更在版本对嵌入脚本也支持这个属性。
    ④ language : 已废弃。原来用于表示编写代码使用的脚本语言(如JavaScript、JavaScript1.2或者VBScript)大多数浏览器会忽略这个属性,因此也没有必要再使用了。
    ⑤ src: 可选。表示包含要执行代码的外部文件。
    ⑥ type : 可选。可以看做是language的替代属性;表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。虽然 text/javascript 和 text/ecmascript都已经不再推荐使用,但人们一直以来使用的都还是 text/javascript。实际上,服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,但在type中设置这个值却可能导致脚本本忽略。另外,在非IE浏览器中还可以使用以下值:application/javascript 和 application/ecmascript。考虑到约定俗成和最大限度的浏览器兼容性,目前type属性的值依旧还是 text/javascript。不过这个属性并不是必需的,如果没有声明这个属性,浏览器默认值仍为 text/javascript。

使用方式:

    使用<script>属性的方式有两种:直接在页面中嵌入JavaScript代码和包含外部JavaScript的文件。

    页面嵌入JavaScript

    直接在页面中嵌入JavaScript代码的方式:在使用<script>元素嵌入JavaScript代码时,只需为<script>元素指定type属性,然后,向下面这样把JavaScript代码直接放到元素内部即可:
<script type="text/javascript">
    function sayHello(){
        alert("Hello!");
    }
</script>
    包含在<script>元素内部的JavaScript代码从上至下依次解析。就拿上面这个例子来说,解析器会解析一个函数的定义,然后将该定义保存在自己的环境当中。在解析器对<script>元素内部的所有代码求值完毕之前,页面中的其余内容都不会被浏览加载或显示。
    在使用<script>嵌入JavaScript代码时,记住不要在代码中的任何地方出现"</script>”字符串。例如,浏览器加载下列代码时会出现一个错误:
<script type="text/javascript">
    function sayScript(){
        alert(“</script>");
    }
</script>

    因为按照解析嵌入代码的规则,当浏览器中遇到"</script>”时,就会认为那是结束的"</script>”标签,而通过转义字符”\”解决这个问题,例如:
<script type="text/javascript">
    function sayScript(){
        alert(“<\/script>");
    }
</script>
    HTML加载JavaScript代码还有另一种方式:引用外部JavaScript文件,接下来我们了解一下这种方式。

引用外部JavaScript文件

    如果通过<script>元素引用外部JavaScript文件,那么src属性就是必需的。这个属性的值是一个指向外部JavaScript 文件的链接。例如:
<script type="text/javascript” src=“example.js"></script>
     这个例子中,外部文件example.js将会被加载到当前页面中。外部文件只须包含通常要放在开始的<script>和结束</script>之间的那些JavaScript代码即可。与解析嵌入式JavaScript代码一样,在解析外部JavaScript文件(包括下载该文件)时,页面的处理也会暂时停止。如果在XHTML文档中,也可以省略前面示例代码中结束的</script>标签。例如:
<script type="text/javascript” src=“example.js” />
    但是,不能在HTML文档使用这种语法。原因是这种语法不符合HTML规范,而且也得不到某些浏览器(尤其是IE)的正确解析。
    需要注意的是,带有src属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的JavaScript代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。

示例源码下载:HTML引用JavaScript

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章