JavaScript中的noscript元素屬性位置及作用介紹
更新時間:2013年04月11日 16:28:57 作者:
Javascript插入到XHTML中要使用script元素,使用這個元素可以把Javascript嵌入到XHTML頁面中,讓腳本與標記混合在一起,感興趣的朋友可以了解下
一、<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”,表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行,該屬性是可選的,<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屬性延遲腳本,這個屬性的用途是表明腳本在執(zhí)行時不會影響頁面的構造。也就是說,腳本會被延遲到整個頁面都解析完畢后在運行。
<html>
<head>
<title></tilte>
<script type=”text/javascript” src=”example.js” defer=”defer”/>
</head>
<body>
</body>
</html>
在這個例子中,雖然我們把<script>元素放在了文檔的<head>元素中,但其中包含的腳本將延遲到瀏覽器遇到</html>標簽后再執(zhí)行。
四、CDATA
在XHTML(XML)中,CData片段是文檔中的一個特殊區(qū)域,這個區(qū)域中可以包含不需要解析的任意格式的文本內容。因此,在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屬性讓瀏覽器在呈現完文檔之后再執(zhí)行腳本。其他瀏覽器不支持該屬性。
另外,使用<noscript>元素可以指定在不支持腳本的瀏覽器中顯示的替代內容。但在啟用了腳本的情況下,瀏覽器不會顯示<noscript>元素中的任何內容。
向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”,表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行,該屬性是可選的,<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屬性延遲腳本,這個屬性的用途是表明腳本在執(zhí)行時不會影響頁面的構造。也就是說,腳本會被延遲到整個頁面都解析完畢后在運行。
復制代碼 代碼如下:
<html>
<head>
<title></tilte>
<script type=”text/javascript” src=”example.js” defer=”defer”/>
</head>
<body>
</body>
</html>
在這個例子中,雖然我們把<script>元素放在了文檔的<head>元素中,但其中包含的腳本將延遲到瀏覽器遇到</html>標簽后再執(zhí)行。
四、CDATA
在XHTML(XML)中,CData片段是文檔中的一個特殊區(qū)域,這個區(qū)域中可以包含不需要解析的任意格式的文本內容。因此,在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屬性讓瀏覽器在呈現完文檔之后再執(zhí)行腳本。其他瀏覽器不支持該屬性。
另外,使用<noscript>元素可以指定在不支持腳本的瀏覽器中顯示的替代內容。但在啟用了腳本的情況下,瀏覽器不會顯示<noscript>元素中的任何內容。
相關文章
ES6新語法Object.freeze和Object.seal基本使用
這篇文章主要為大家介紹了ES6新語法Object.freeze和Object.seal基本使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01