溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript文件為什么放在Html底部

發(fā)布時間:2020-06-28 17:42:22 來源:億速云 閱讀:199 作者:元一 欄目:web開發(fā)

JavaScript文件為什么放在Html底部?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

這個問題有兩個考慮:

  • 如果是外部加載的js, 也就是通過src加載的外部js,  這種方式調(diào)用的js之所以要放到底部是因為瀏覽器渲染網(wǎng)頁是從上往下,頁面是用戶能看到的也能直觀感受到的,而js代碼是用戶看不到的,屬于“幕后”的東西, 把“幕后”的東西放到最下面,那么用戶能看得見的頁面加載速度就會更快,讓用戶感覺頁面打開速度很快,提高用戶體驗。

  • js一般會用于對頁面DOM的操作,如果將js代碼放到頁面頂部, 基于瀏覽器從上往下加載的機(jī)制,有可能被操作的DOM節(jié)點還未加載完畢,JS就去操作DOM了,這明顯會導(dǎo)致出錯,放到頁面底部會保險一些。

主要考慮是第一條, 第二條現(xiàn)在為了百分百保證DOM樹渲染完畢執(zhí)行JS, 基本都用load檢測了。

JavaScript寫在尾部,這是因為JS主要扮演事件處理的功能。這樣的話,頁面渲染的時候和JS沒有關(guān)系,放在后面慢慢加載,不要影響更重要的CSS和HTML的加載。

但是,現(xiàn)在隨著JS技術(shù)的發(fā)展,JS也開始承擔(dān)起頁面渲染的工作了,比如JQuery UI之類。如果這類JS加載需要很長時間,就會影響用戶的體驗,因為用戶看到的是一個渲染不完全的界面。

所以,需要把JS區(qū)分看待,承擔(dān)頁面渲染工作的JS和承擔(dān)事件處理的JS要區(qū)分看待。

我的建議是,緩存類似JQuery UI這樣的靜態(tài)文件,剝離渲染頁面的JS和事務(wù)處理的JS。

渲染頁面的JS放在前面,事務(wù)處理的JS放在后面,HTML代碼可以放在兩者中間,或者兩者之前,只要保證DOM加載后能迅速進(jìn)行JS渲染就可以了。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI