<Script>元素
屬性
屬性 | 值 | 描述 |
---|---|---|
async | async | 定義腳本是否異步執(zhí)行粱檀。是H5的新屬性洲敢。 |
type | text/ECMAScript text/JavaScript application/ECMAScript application/JavaScript text/VBScript |
指定腳本的MIME類型。 |
charset | charset | 定義腳本中使用的字符編碼茄蚯。不支持压彭。 |
defer | defer | 指示腳本不會(huì)生成任何文檔內(nèi)容称近。瀏覽器可繼續(xù)解析并繪制頁(yè)面。 |
language | JavaScript LiveScript VBScript ... |
HTML5中不支持 |
src | URL | 定義只想包含腳本的文件的URL(這樣就可以引用某個(gè)包含腳本的文件哮塞,而不是直接把腳本插入到HTML文檔中) |
xml:space | preserve | HTML5中不支持。 |
位置
- <script>元素放在<head>元素中凳谦。慣例做法忆畅,但會(huì)導(dǎo)致頁(yè)面呈現(xiàn)延遲。
- <script>元素放在<body>元素中尸执、頁(yè)面內(nèi)容后家凯。
所有<script>元素都會(huì)按照它們?cè)陧?yè)面中出現(xiàn)的先后順序依次被解析。
延遲腳本
defer
- 使得腳本在執(zhí)行是不會(huì)影響頁(yè)面的構(gòu)造如失。
其實(shí)就是:使得<script>放在<head>中但不造(很大的)成頁(yè)面加載延遲绊诲。
舉個(gè)栗子:
<!DOCTYPE html>
<html>
<head>
<title> EXAMPLE</title>
</head>
<body>
<!-- 這里放內(nèi)容 -->
<script type="text/javascript" defer="defer" src="example1.js"></script>
<script type="text/javascript" defer="defer" src="example2.js"></script>
</body>
</html>
異步腳本
async
|defer|async
----|----|----
異|讓腳本在文檔完全呈現(xiàn)之后再執(zhí)行⊥使螅總是按照指定的先后順序執(zhí)行|可以表示當(dāng)前腳本不必等待其他腳本掂之。不一定按照指定的順序執(zhí)行
- 同:都用于改變處理腳本的行為;都只適用于處理外部腳本文件脆丁。