http://www.cnblogs.com/zhangchunxi/archive/2013/03/22/2975871.html一、在html中嵌入js代碼:
在html文件里嵌入js代碼主要有四種形式:
第一種是通過<script></script>標(biāo)記,這種一般用來定義一些函數(shù),放在body外;
第二種是通過文件形式導(dǎo)入,由<script>標(biāo)記的src屬性指定路徑;
第三種是放在由句柄的屬性值指定;
第四種是使用javascript:協(xié)議。
(1)方法一:
1、把js代碼放在<script></script>標(biāo)記之間;如:
<script>function square(x){return x*x;}</script>
2、一個html文檔可以包含多個<script>標(biāo)記,執(zhí)行順序是他們在文檔中出現(xiàn)的順序
(2)方法二:
放在由<script>標(biāo)記的src屬性指定的外部文件中,src指定一個包含js代碼的文件的url;如:
<script src="http://www.cnblogs.com/scripts/util.js"></script>
(3)方法三:
1、放在事件句柄中,該事件句柄由onclick或onmouseover這樣的html屬性值指定;例如:要定義在用戶點擊表單中的復(fù)選框時調(diào)用事件句柄,只需把處理的代碼作為
定義復(fù)選框的html標(biāo)記的屬性:
<input type="checkbox" name="options" value="giftwrap" onclick="giftwrap=this.checked;">
這里的onclick的屬性值是一個字符串,其中包含多個js語句,每條語句要用分號分開,當(dāng)點擊onclick事件時,便執(zhí)行這些js代碼;
2、常用的事件句柄:
onclick—— 所有類似按鈕的表單元素、<a>和<area>標(biāo)記都支持該處理程序;
onmousedown,onmouseup——用法和onclick類似;
onmouseover,onmouseout;
onchange——<input>、<select>、<textarea>元素支持該事件句柄,在用戶改變了元素的顯示值,或移出了元素的焦點時觸發(fā)它;
onload——出現(xiàn)在<body>標(biāo)記上,當(dāng)文檔及其外部內(nèi)容(圖像)完全載入的時候觸發(fā)它;
(4)方法四:
在一個url中,這個url使用特殊的javascript:協(xié)議;如:
javascript:var now = new Date();"<h1>當(dāng)前事件是:</h1>"+now;
當(dāng)瀏覽器載入這樣一個javascript url,它會執(zhí)行url中所包含的js代碼,并使用最后一個js語句或表達式的值,轉(zhuǎn)換為一個字符串,作為新載入的文檔內(nèi)容顯示;
有時希望使用一個js url來執(zhí)行某些js代碼而不改變當(dāng)前顯示的文檔,這樣的話就要確保url最后一條語句沒有返回值:使用void 0;如:
javascript:window.open("about:blank");void 0;
如果沒有 void 0; 則新文檔顯示的內(nèi)容為:[object Window]
二、由于js并非唯一的腳本化語言,為使瀏覽器能正確的解析腳本,必須告訴瀏覽器腳本是用哪種語言編寫的;使用http Content-srcipt-Type頭部來為一個文件指定默認(rèn)的腳本語言,
要把所有的腳本指定為js,只需把如下標(biāo)記放入到html文檔的<head>中:
<meta http-equiv="Content-Script-Type" content="text/javascript">
或者使用<script>標(biāo)記的type屬性:
<script type="text/javascript">...</script>