閱讀565 返回首頁    go 阿裏雲 go 技術社區[雲棲]


你真的了解html嗎?--之script標簽介紹

一.屬性:

src:該屬性指定外部JavaScript文件的地址,可以跨域。如果指定了該屬性,那麼script標簽中的內容就會被忽略。

 

type:指定所使用的腳本語言,可以覆蓋默認的腳本語言(即在<META http-equiv="Content-Script-Type" content="type">中定義的腳本類型

)開發者必須指定該屬性,該屬性沒有默認值。

 

language:(不讚成使用),指定script標簽的內容所使用的腳本語言,該屬性的值是一些語言的標示符,但是由於語言的標示符不標準,因此該屬性被棄用了,偏向於使用type屬性指定所使用的腳本語言。在ie中當有多個script標簽時,最好為每個script都指定一個language屬性,並且script標簽的順序也非常重要,特別是當一個腳本函數作為事件控製器賦予一個或者多個元素上時,xml對於script標簽來說是合法的內容,但是xml不是一個腳本語言,如果把xml作為script 的內容如:

 

<html>
<head>
<SCRIPT LANGUAGE="XML" >
<offerings>
 <class><materials>This should render.</materials><time>1.5
hr</time></class>
</offerings>
</SCRIPT>
<SCRIPT LANGUAGE="Javascript">
function returnIslandRootName()
{
  var islandRoot = document.all["mySrc1"].XMLDocument;
  alert(islandRoot.nodeName);
}
</SCRIPT>
</head>
<body>
<button >Test the XML Data Island</button>
</body>
</html>

由於xml數據島為第一個script標簽中的內容,並且該標簽指定了languageJavaScript,這時mshtml會在第一個script標簽中加載returnIslandRootName 方法,因此會報錯,那麼正確的會是什麼呢?

<html>
<head>
<SCRIPT LANGUAGE="Javascript">
function returnIslandRootName()
{
  var islandRoot = document.all["mySrc1"].XMLDocument;
  alert(islandRoot.nodeName);
}
</SCRIPT>
<SCRIPT LANGUAGE="XML" >
<offerings>
 <class><materials>This should render.</materials><time>1.5
hr</time></class>
</offerings>
</SCRIPT>
</head>
<body>
<button >Test the XML Data Island</button>
</body>
</html>

 

 

defer:該屬性按時瀏覽器不立即讓script標簽產生文檔內容。因此這樣瀏覽器不用被阻止渲染文檔內容。在firefox中需要Requires Gecko 1.9.1以上的引擎。

 

charset:該屬性指定了外部JavaScript文件的編碼方式。對於行內JavaScript文件的編碼方式不起作用。

 

async:該屬性需要Gecko 1.9.2以上的引擎,是firefox專有的屬性,用來異步執行JavaScript腳本,隻在擁有src屬性時才氣作用,

 

二.指定腳本語言的方式:

1.指定整個文檔默認的腳本語言。

<META http-equiv="Content-Script-Type" content="type">

content:指定腳本語言的類型如:"text/tcl", "text/javascript", "text/vbscript".

由於文檔默認的腳本類型是JavaScript,因此我們在使用JavaScript時最簡單且兼容性最好的方式為<script></script>

2.指定當前腳本塊所使用的腳本語言

通過script標簽的type屬性指定,這樣會覆蓋1中所定義的腳本語言類型。

 

如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "https://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>A document with SCRIPT</TITLE>
<META http-equiv="Content-Script-Type" content="text/tcl">
<SCRIPT type="text/vbscript" src="https://someplace.com/progs/vbcalc">
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
...some JavaScript...
</SCRIPT>
</BODY>
</HTML>
上麵的例子指定這個文檔所使用的默認的腳本語言類型text/tcl,第一塊script中所以用的腳本類型為text/vbscript,第二塊腳本塊中所使用的腳本類型為text/javascript.
 
三.如果瀏覽器不支持所指定的腳本類型。應該用noscript標簽指定。如:
<SCRIPT type="text/tcl">
 ...some Tcl script to insert data...
</SCRIPT>
<NOSCRIPT>
 <P>Access the <A href="https://someplace.com/data">data.</A>
</NOSCRIPT>
 

 

參考:https://www.w3.org/TR/html401/interact/scripts.html

https://developer.mozilla.org/En/HTML/Element/Script

https://msdn.microsoft.com/en-us/library/ms535892(VS.85).aspx

最後更新:2017-04-02 04:01:44

  上一篇:go [Hadoop係列]Hadoop的安裝-1.本地模式
  下一篇:go [Apache commons係列]DBUtils簡介-2.核心類簡介