鍍金池/ 問答/HTML/ script標(biāo)簽位置有何講究?

script標(biāo)簽位置有何講究?

放在head標(biāo)簽里不合適?
網(wǎng)上沒看見統(tǒng)一的說法,有沒有權(quán)威或者官方的建議。

回答
編輯回答
帥到炸

html讀取是自上而下的,建議先加載css層疊樣式文件再加載js文件,這樣即使網(wǎng)慢的時候也會先顯示出大體輪廓,如果先加載js則會影響頁面樣式。

2018年7月31日 02:27
編輯回答
司令

以下僅為個人意見
首先考慮是否有立即執(zhí)行的DOM操作,如果有就一定要放在要操作的頁面元素之后,更不能放到head里;
然后考慮js內(nèi)容加載占用的時間,為了使用戶能盡快看到頁面,應(yīng)該將js放到最后,但如果js內(nèi)容很少,其實(shí)也沒必要太在意;
最后就是習(xí)慣和方便的問題,從前面兩點(diǎn)可以看出,放最后肯定沒錯,而且集中在一起方便管理,那么為什么不放在最后呢?

2017年3月22日 22:50
編輯回答
殘淚

如果不是馬上要展示在頁面上的。就放在最后,因?yàn)?code>head里面js多了會影響頁面加載。如果你有什么js是需要壓面中用的,比如有些網(wǎng)站需要統(tǒng)一改變電話號碼,等頁面加載完后在去改回閃一下,體驗(yàn)不好,或者說你用了rem.js需要提前計(jì)算好font-size就這樣做:

<script>
    function tel () {
        // 比如這里做了一大堆計(jì)算得到一個電話號碼
        var tel = '123456';
        document.write(tel);
    }
</script>
<span><script> tel() ;</script></span>
<span><script> tel() ;</script></span>
<span><script> tel() ;</script></span>
<span><script> tel() ;</script></span>
<span><script> tel() ;</script></span>

如果沒有這些需要立刻有效果的,最好都放后面區(qū)。雖然很多網(wǎng)站都是隨便放。
至于每一個js的順序,被依賴的js肯定得放前面(不是指放在head里)

2017年6月13日 03:33
編輯回答
小眼睛

放在</body>之前可以優(yōu)化頁面的加載性能. 放在頭部的話, 當(dāng)遇到script標(biāo)簽會停止對其他資源的下載. 影響用戶體驗(yàn). 另外一種情況就是延遲加載.

2017年1月24日 16:06