DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript中的noscript元素屬性位置及作用介紹
JavaScript中的noscript元素屬性位置及作用介紹
編輯:關於JavaScript     
一、<script>元素屬性
向XHTML頁面中插入JavaScript的主要方法,就是使用<script>元素,該元素有5個屬性分別為charset、defer、language、src、type,經常使用的是type、src、defer這三個。
1、type屬性的值一般都是text/javascript,該屬性是必須的,<script type=”text/javascript”/>。
2、src屬性的值是*.js外部文件,該屬性是可選的,<script type=”text/javascript” src=”example.js”/>。
在這個例子中,外部文件example.js將被加載到當前頁面中。外部文件只需包含通常要放在開始的<script>和結束的</script>之間的那些Javascript代碼即可。與解析嵌入式Javascript代碼一樣,在解析外部Javascript文件時,頁面的處理也會暫時的停止。需要注意的是帶有src屬性後就不應該在<script>和</script>之間再包含額外的Javascript代碼。
3、defer屬性的值是”defer”,表示腳本可以延遲到文檔完全被解析和顯示之後再執行,該屬性是可選的,<script type=”text/javascript” src=”example.js” defer=”defer”/>
二、標簽位置
按照慣例,所有<script>元素都應該放在頁面的<head>元素中,例如:
復制代碼 代碼如下:
<html>
<head>
<title></tilte>
<script type=”text/javascript” src=”example.js”/>
</head>
<body>
</body>
</html>

現代Web應用程序一般都把全部Javascript引用放在<body>元素中,放在頁面的內容後面目的是讓用戶感覺到頁面加載速度快了,如下所示:
復制代碼 代碼如下:
<html>
<head>
<title></tilte>
</head>
<body>
<!--內容-->
<script type=”text/javascript” src=”example.js”/>
</body>
</html>

三、延遲腳本
使用defer屬性延遲腳本,這個屬性的用途是表明腳本在執行時不會影響頁面的構造。也就是說,腳本會被延遲到整個頁面都解析完畢後在運行。
復制代碼 代碼如下:
<html>
<head>
<title></tilte>
<script type=”text/javascript” src=”example.js” defer=”defer”/>
</head>
<body>
</body>
</html>

在這個例子中,雖然我們把<script>元素放在了文檔的<head>元素中,但其中包含的腳本將延遲到浏覽器遇到</html>標簽後再執行。
四、CDATA
在XHTML(XML)中,CData片段是文檔中的一個特殊區域,這個區域中可以包含不需要解析的任意格式的文本內容。因此,在CData片段中就可以使用任意字符,而且不會導致語法錯誤。
復制代碼 代碼如下:
<script>
// <![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>

加入雙斜線注釋是為了解決浏覽器不兼容XHTML的問題。
五、<noscript>元素
當浏覽器不支持Javascript或者Javascript被禁用時,包含在<noscript>中的元素才會顯示出來,否則得話盡管頁面中包含<noscript>,但其中的內容並不會被顯示。
如下所示:
復制代碼 代碼如下:
<html>
<head>
<title></tilte>
<script type=”text/javascript” src=”example.js” defer=”defer”/>
</head>
<body>
<noscript>
<p>本頁面需要浏覽器支持(啟用)Javascript。</p>
</noscript>
</body>
</html>

這個頁面會在腳本無效的情況下向用戶顯示一條消息。而在啟用了腳本的浏覽器中,用戶永遠也不會看到它——盡管它是頁面的一部分。
復制代碼 代碼如下:
<html>
<head>
<title>Example HTML Page</title>
</head>
<body>
<noscript>
<center><p style="color:red; font-size:26px;">本頁面需要浏覽器支持(啟用)JavaScript</p></center>
</noscript>
<!-- 這裡放內容 -->
<script type="text/javascript">
alert(1);
</script>
</body>
</html>

復制代碼 代碼如下:
<html>
<head>
<title>Example HTML Page</title>
</head>
<body>
<noscript>
<center><p style="color:red; font-size:26px;">本頁面需要浏覽器支持(啟用)JavaScript</p></center>
</noscript>
<!-- 這裡放內容 -->
<script type="text/javascript">
alert(1);
</script>
</body>
</html>

在以下兩種情況下,上述代碼<p>標記中的內容會顯示出來:
•浏覽器不支持腳本
•浏覽器支持腳本,但腳本被禁用。

除此之外,用戶在浏覽器中永遠看不到<noscript>標記中的內容。

六、小結
把Javascript插入到XHTML中要使用<script>元素。使用這個元素可以把Javascript嵌入到XHTML頁面中,讓腳本與標記混合在一起;也可以包含外部的Javascript文件。而我們需要注意的有:
1、這兩種方式都要求吧type屬性的值設置為text/javascript,以表明使用的是Javascript腳本語言。
2、在包含外部Javascript文件時,必須將src屬性設置為指向相應文件的url。而這個文件即可以好是與包含它的頁面位於同一個服務器上的文件,也可以是其他任何域中的文件。
3、所有<script>元素會按照他們在頁面中出現的先後順序依次被解析。只有在解析完前一個<script>代碼後才會解析下一個<script>代碼。
4、浏覽器在呈現後面的頁面內容之前,必須先解析完前面<script>元素中的代碼。為此,一般要把<script>元素放在頁面的末尾,放在頁面內容之後和結束的</body>標簽之前。
5、在IE和火狐中,可以通過設置defer屬性讓浏覽器在呈現完文檔之後再執行腳本。其他浏覽器不支持該屬性。
另外,使用<noscript>元素可以指定在不支持腳本的浏覽器中顯示的替代內容。但在啟用了腳本的情況下,浏覽器不會顯示<noscript>元素中的任何內容。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved