只要一提到把JavaScript放到网页中,就不得不涉及Web的核心语言——HTML。在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何做到让JavaScript既能与HTML页面共存,又不影响那些页面在其他浏览器中的呈现效果。经过尝试、纠错和争论,最终的决定就是为Web增加统一的脚本支持。而Web诞生早期的很多做法也都保留了下来,并被正式纳入HTML规范当中。
<script>元素</h3>
<p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"> 向HTML页面中插入JavaScript的主要方法,就是使用<script>元素。这个元素由Netscape创造并在Netscape Navigator2中首先实现。后来,这个元素被加入到正式的HTML规范中。HTML4.01为<scripth>定义了下列6个<a href="http://www.php.cn/wiki/169.html" target="_blank">属性</a>。<br></p>
<ul class=" list-paddingleft-2" style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px">
<li><p style="margin-top:0px; margin-bottom:10px">async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本有效。</p></li>
<li><p style="margin-top:0px; margin-bottom:10px">charset:可选。表示通过src属性指定的代码的<a href="http://www.php.cn/code/225.html" target="_blank">字符集</a>。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。</p></li>
<li><p style="margin-top:0px; margin-bottom:10px">defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本有效。</p></li>
<li><p style="margin-top:0px; margin-bottom:10px">language:已废弃。</p></li>
<li><p style="margin-top:0px; margin-bottom:10px">src:可选。表示包含要执行代码的外部文件。</p></li>
<li><p style="margin-top:0px; margin-bottom:10px">type:可选。可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。</p></li>
</ul>
<p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"><br></p>
<p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"> 使用<script>元素的方式有两种:直接在页面中嵌入JavaScript代码和包含外部JavaScript文件。</p>
<p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"> 在使用<script>元素嵌入JavaScript代码时,只需为<script>指定type属性。然后,向下面这样把javaScript代码直接放在元素内部即可:<br></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false" style="overflow:auto; font-family:Menlo,Monaco,Consolas,'Courier New',monospace; font-size:13px; padding:9.5px; margin-top:0px; margin-bottom:10px; line-height:1.42857; color:rgb(51,51,51); word-break:break-all; word-wrap:break-word; border:1px solid rgb(204,204,204); background-color:rgb(245,245,245)"><script type="text/javascript">
function sayHi(){
alert("Hi!");
}
</script></pre><div class="contentsignin">Salin selepas log masuk</div></div><p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"> 包含在<script>元素内部的JavaScript代码将被从上至下依次解释。就拿前面这个例子来说,解释器会解释一个<a href="http://www.php.cn/wiki/145.html" target="_blank">函数</a>的定义,然后将该定义保存在自己的环境当中。当解释器对<script>元素内部的所有代码求值完毕前,页面中的其余内容都不会被浏览器加载或显示。</p><p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px"> 如果要通过<script>元素来包含外部JavaScript文件,那么src属性就是必需的。这个属性的值是一个指向外部javascript文件的链接,例如:<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false" style="overflow:auto; font-family:Menlo,Monaco,Consolas,'Courier New',monospace; font-size:13px; padding:9.5px; margin-top:0px; margin-bottom:10px; line-height:1.42857; color:rgb(51,51,51); word-break:break-all; word-wrap:break-word; border:1px solid rgb(204,204,204); background-color:rgb(245,245,245)"><script type="text/javascript" src="example.js"></script></pre><div class="contentsignin">Salin selepas log masuk</div></div><p style="margin-top:0px; margin-bottom:10px; color:rgb(51,51,51); font-family:Tahoma,Arial,'Microsoft Yahei'; font-size:15.4px; line-height:27.72px">在这个例子中,外部文件example.js将被加载到当前页面中。外部文件只须包含通常要放在开始的<script>和结束的</script>中间的那些javascript代码即可。与解析嵌入式javascript代码一样,在解析外部javascript文件(包括下载该文件)时,页面的处理也会暂时停止。如果是在XHTML文档中,也可以省略前面示例代码中结束的标签,例如:
<script type="text/javascript" src="example.js" />
Salin selepas log masuk
按照惯例,外部javascript文件带有.js扩展名。但这个扩展名不是必需的,因为浏览器不会检查包含javascript的文件的扩展名。这样一来,使用JSP、PHP或其他服务器端语言动态生成javascript代码也就成为了可能。但是,服务器通常还是需要看扩展名决定为响应应用哪种MIME类型。如果不适用.js扩展名,请确保服务器能反应会正确的MIME类型。
Atas ialah kandungan terperinci html中关于javascript的<script>标签详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!