答案是:

并不是說在網(wǎng)頁載 " /> 成人国产亚洲,日本老年人精品久久中文字幕,国产三级乡下

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

<script defer> defer 是什么意思

程序下載完后再進(jìn)行解析和執(zhí)行。
文檔上說defer中的代碼不立即執(zhí)行,頁面會(huì)繼續(xù)載入,那defer中的代碼具體在什么時(shí)候執(zhí)行呢?在全部Javascript代碼載入之后?頁面載入之后?onload之前還是之后?

答案是:

并不是說在網(wǎng)頁載入時(shí)不執(zhí)行,可以在網(wǎng)頁寫一個(gè)SCRIPT.然后定義它,但是在載入時(shí)它還是執(zhí)行了,
后來在找其它的東東時(shí)發(fā)現(xiàn),因?yàn)樗挥袀€(gè)子, 不知它是如何用,
原來它是在你的網(wǎng)頁已截入完成后,你想動(dòng)態(tài)添加一個(gè)新的<script>時(shí)用的,如果你只是object.innerHTML = "<script" + ">"..."</script" + ">";
那么當(dāng)你調(diào)用你這個(gè)新定義的東東就會(huì)出錯(cuò),說還未定義,當(dāng)你在上面的代碼加入defer時(shí)那么你就能成功調(diào)用它,
在下面的代碼中你可以試下把它去掉, defer>";,那么你就會(huì)發(fā)現(xiàn)問題!
<HTML>
<SCRIPT>
function insertScript(){
var sHTML="<input type=button onclick=" + "go2()" + " value='Click Me'><BR>";
var sScript="<SCRIPT defer>";
sScript = sScript + "function go2(){ alert('Hello from inserted script.') }";
sScript = sScript + "</SCRIPT" + ">";
ScriptDiv.innerHTML = sHTML + sScript;
}
</SCRIPT>
<BODY onload="insertScript();">
<DIV ID="ScriptDiv"></DIV>
</BODY>
</HTML>

//defer屬性指示該段腳本不會(huì)改變文檔的內(nèi)容。在文檔完全顯示之前,js解釋器不執(zhí)行這段代碼。
具體到這個(gè)例子,因?yàn)閖s不允許動(dòng)態(tài)生成js代碼,所以去掉defer后產(chǎn)生的代碼會(huì)被認(rèn)為是非法的。加上defer后的代碼,會(huì)被解釋器認(rèn)為是載入頁面的時(shí)候跳過去的,可以執(zhí)行。

<script src="../js/script.js" defer></script>
中的defer作用是文檔加載完畢了再執(zhí)行腳本,這樣回避免找不到對(duì)象的問題

<button id="myButton" onclick="alert('ok')">test</button>
<script>
myButton.click();
</script>

<script>
myButton.click();
</script>
<button id="myButton" onclick="alert('ok')">test</button>

<script defer>
function document.body.onload() {
alert(document.body.offsetHeight);
}
</script>

加上 defer 等于在頁面完全在入后再執(zhí)行,相當(dāng)于 window.onload ,但應(yīng)用上比 window.onload 更靈活!

defer是腳本程序強(qiáng)大功能中的一個(gè)“無名英雄”。它告訴瀏覽器Script段包含了無需立即執(zhí)行的代碼,并且,與SRC屬性聯(lián)合使用,它還可以使這些腳本在后臺(tái)被下載,前臺(tái)的內(nèi)容則正常顯示給用戶。
--但是 文檔加載完畢了再執(zhí)行腳本

最后請(qǐng)注意兩點(diǎn):
1、不要在defer型的腳本程序段中調(diào)用document.write命令,因?yàn)閐ocument.write將產(chǎn)生直接輸出效果。
2、而且,不要在defer型腳本程序段中包括任何立即執(zhí)行腳本要使用的全局變量或者函數(shù)。

一個(gè)常用的優(yōu)化性能的方法是:當(dāng)腳本不需要立即運(yùn)行時(shí),在<SCRIPT>標(biāo)簽中設(shè)置“defer”屬性。 (立即腳本沒有被包含在一個(gè)function塊中,因此會(huì)在加載過程中執(zhí)行。) 設(shè)置“defer”屬性后,IE就不必等待該腳本裝載和執(zhí)行完畢。這樣頁面加載會(huì)更快。一般來說,這也表明立即腳本最好放在function塊中,并在document或者body對(duì)象的onload 句柄中處理該函數(shù)。在有一些腳本需要依賴用戶操作而執(zhí)行時(shí)----例如點(diǎn)擊按鈕,或者移動(dòng)鼠標(biāo)到某個(gè)區(qū)域----使用該屬性非常有用。但當(dāng)有一些腳本需要在頁面加載過程中或加載完成后執(zhí)行,使用defer屬性得到的好處就不太大。

JavaScript技術(shù)&amp;amp;lt;script defer&amp;amp;gt; defer 是什么意思,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 四虎永久在线日韩精品观看 | 欧美a网站| 久久国产欧美日韩精品免费 | 综合图色 | 国产中文字幕视频 | 日韩一区二区三区免费视频 | 国模337人人本艺术150p | 九九涩 | 五月婷婷导航 | www日本免费 | 欧美精品免费一区欧美久久优播 | 91网站网站网站在线 | 国产成人精品亚洲一区 | 日日插夜夜操 | 在线视频国产一区 | 99在线观看视频免费 | 午夜欧美成人久久久久久 | 久久九九有精品国产56 | 国内精品国语自产拍在线观看91 | 伊人网站在线观看 | 色婷婷亚洲综合 | 2021国内精品久久久久影院 | 99精彩免费观看 | 亚洲一区二区三区久久精品 | 国产一区二区三区免费 | 国产精品一区二 | 一级尻逼片 | 亚洲性片 | 一区二区三区免费在线观看 | 97国产精品人人爽人人做 | 国产一区二区三区久久 | 国产情侣91 | 国产精品九九视频 | 免费大片黄在线观看yw | 丁香六月在线视频 | 中文字幕一区在线观看 | 国产精品久久久久久福利69堂 | 国产资源在线免费观看 | 国产日韩一区二区三区 | 中文字幕精品视频在线 | 精品国产免费久久久久久婷婷 |