注:筆記主要是查漏補缺用
一、<script>元素
1.注意事項:
1)使用<script>元素主要有兩種用法:
- 直接在頁面中嵌入JS代碼
- 引入外部JS文件
2)包含在<script>元素內(nèi)部的JS代碼將被從上至下依次解釋碰纬。
3)使用<script>嵌入JS代碼時丹锹,不要在代碼中任何地方出現(xiàn)"</script>"字符串燥翅,否則會產(chǎn)生錯誤。
解決辦法:
<script>
function sayScript(){
alert("<\/script>");
}
</script>
2.<script>的屬性
1) scr 屬性: 指向外部JS文件的鏈接
作用:通過<script>元素包含外部JS文件。
在使用scr時霎匈,如果包含了嵌入的代碼,則只會下載并執(zhí)行外部腳本文件乱投,嵌入的代碼會被忽略咽笼。
src屬性還可以包含來自外域的JavaScript文件。即它的scr屬性可以是指向當前html頁面所在域之外的某個域之中的URL戚炫。
<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>
利用這一點就可以在必要時通過不同的域來提供JS文件(但是要注意安全性)
2) defer 屬性 延遲腳本
- 作用:腳本會被延遲到整個頁面都解析完畢后再運行剑刑。相當于告訴瀏覽器立即下載,但是延遲執(zhí)行双肤。
- 注意:腳本會延遲到</html>結(jié)束后執(zhí)行施掏,最好只包含一個延遲腳本
- defer 屬性只使用于外部腳本文件
- HTML5中的實現(xiàn)會忽略給嵌入腳本設(shè)置的defer屬性。
3)async 屬性 異步腳本
- 作用:告訴瀏覽器立即下載文件茅糜。但是并不保證按照指定它們的先后順序執(zhí)行七芭。其目的是不讓頁面等待兩個腳本下載和執(zhí)行,從而異步加載頁面其他內(nèi)容蔑赘。為此狸驳,建議異步腳本不要在加載期間修改DOM.
- 異步腳本一定會在頁面的load事件前執(zhí)行
4)charset屬性
5)type 屬性
二、<noscript>元素
包含在<noscript>元素中的內(nèi)容只有在下列情況下才會顯示出來:
- 瀏覽器不支持腳本
- 瀏覽器支持腳本缩赛,但腳本被禁用耙箍。
除此之外,瀏覽器不會呈現(xiàn)這個元素中的內(nèi)容峦筒。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script></script>
<script></script>
</head>
<body>
<noscript>
<p>本頁面需要瀏覽器支持(啟用)JavaScript究西。
</noscript>
</body>
</html>