函數(shù)式編程
2019-06-06 13:41:16
加載和執(zhí)行腳本的順序在html頁(yè)面中包含JavaScript的方式有很多種。我知道以下選項(xiàng):內(nèi)聯(lián)代碼或從外部URI加載包括在<head>或<body>標(biāo)簽中[1,2]沒(méi)有,defer或async屬性(只有外部腳本)包含在靜態(tài)源中或由其他腳本動(dòng)態(tài)添加(在不同的解析狀態(tài)下,使用不同的方法)不包括硬盤(pán)中的瀏覽器腳本,javascript:URI和onEvent-屬性[3],已經(jīng)有16個(gè)選項(xiàng)可以讓JS執(zhí)行,我相信我忘了一些東西。我不太關(guān)心快速(并行)加載,我對(duì)執(zhí)行順序更感興趣(這可能取決于加載順序和文件順序). 有沒(méi)有好的(跨瀏覽器)包括所有案件的推薦信?例如:網(wǎng)址:http:/www.websiteOptimization.com只處理其中的6個(gè),并且測(cè)試大部分是舊的瀏覽器。由于我擔(dān)心沒(méi)有,這里是我的具體問(wèn)題:我有一些(外部)頭腳本用于初始化和腳本加載。然后,我有兩個(gè)靜態(tài)的,內(nèi)聯(lián)的腳本在身體的末尾。第一種方法允許腳本加載器將另一個(gè)腳本元素(引用外部js)動(dòng)態(tài)地追加到主體中。第二個(gè)靜態(tài)內(nèi)聯(lián)腳本希望使用添加的外部腳本中的js。它能否依賴另一個(gè)已被執(zhí)行(以及為什么:-)?
3 回答

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
// file: test.phpsleep(10);die("alert('Done!');");// HTML file:<script type="text/javascript" src="test.php"></script>
<!DOCTYPE HTML><html><head> <title>Test</title></head><body> <script type="text/javascript"> var s = document.createElement('script'); s.type = "text/javascript"; s.src = "link.js"; // file contains alert("hello!"); document.body.appendChild(s); alert("appended"); </script> <script type="text/javascript"> alert("final"); </script></body></html>
<script>do something with #blah</script><div id="blah"></div>
<script>
添加回答
舉報(bào)
0/150
提交
取消