<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">只要一提到把<a href="http://www.php.cn/wiki/48.html" target="_blank">JavaScript</a>放到網頁中,就得涉及Web的核心語言-HTML。在當初開發JavaScript的時候,Netscape要解決的一個重要問題就是如何做到讓JavaScript既能與HTML頁面共存,又不影響那些頁面在其他瀏覽器中的呈現效果。經過嘗試、糾錯和爭論,最終的決定就是為Web增加統一的腳本支援。而Web誕生早期的許多做法也都保留了下來,並正式納入HTML規範當中。 </p> <h3 style="font-family:Tahoma,Arial,'Microsoft Yahei'; font-weight:500; line-height:1.1; color:rgb(51,51,51); margin-top:20px; margin-bottom:10px; font-size:24px">3f1c4e4b6b16bbbd69b2ee476dc4f83a元素</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的主要方法,就是使用3f1c4e4b6b16bbbd69b2ee476dc4f83a元素。這個元素是由Netscape創造並在Netscape Navigator2中先實作。後來,這個元素被加入到正式的HTML規範中。 HTML4.01為9c3432e646edf04aca4d277a50575ee9定義了下列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"> 使用3f1c4e4b6b16bbbd69b2ee476dc4f83a元素的方式有兩種:直接在頁面中嵌入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"> 在使用3f1c4e4b6b16bbbd69b2ee476dc4f83a元素嵌入JavaScript程式碼時,只需為3f1c4e4b6b16bbbd69b2ee476dc4f83a指定type屬性。然後,向下面這樣把javaScript程式碼直接放在元素內部即可:<br></p><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><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"> 包含在3f1c4e4b6b16bbbd69b2ee476dc4f83a元素內部的JavaScript程式碼將依序解釋為上至下。就拿前面這個例子來說,解釋器會解釋一個<a href="http://www.php.cn/wiki/145.html" target="_blank">函數</a>的定義,然後將這個定義保存在自己的環境當中。當解釋器對3f1c4e4b6b16bbbd69b2ee476dc4f83a元素內部的所有程式碼求值完畢前,頁面中的其餘內容都不會被瀏覽器載入或顯示。 </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"> 如果要透過3f1c4e4b6b16bbbd69b2ee476dc4f83a元素來包含外部JavaScript文件,那麼src屬性就是必需的。這個屬性的值是一個指向外部javascript檔案的鏈接,例如:<br></p><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><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将被加载到当前页面中。外部文件只须包含通常要放在开始的3f1c4e4b6b16bbbd69b2ee476dc4f83a和结束的2cacc6d41bbb37262a98f745aa00fbf0中间的那些javascript代码即可。与解析嵌入式javascript代码一样,在解析外部javascript文件(包括下载该文件)时,页面的处理也会暂时停止。如果是在X<a href="http://www.php.cn/code/5010.html" target="_blank">HTML文档</a>中,也可以省略前面示例代码中结束的2cacc6d41bbb37262a98f745aa00fbf0标签,例如:<br></p><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" /></pre><p style="margin-top:0px; margin-bottom:0px">按照惯例,外部javascript文件带有.js扩展名。但这个扩展名不是必需的,因为浏览器不会检查包含javascript的文件的扩展名。这样一来,使用JSP、PHP或其他服务器端语言动态生成javascript代码也就成为了可能。但是,服务器通常还是需要看扩展名决定为响应应用哪种MIME类型。如果不适用.js扩展名,请确保服务器能反应会正确的MIME类型。</p> <p class="and" style='color: rgb(51, 51, 51); font-family: Tahoma, Arial, "Microsoft Yahei"; font-size: 15.4px; line-height: 27.72px;'><br></p>