亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

$(文件)。就緒(函數(){}); vs頁面底部的腳本

$(文件)。就緒(函數(){}); vs頁面底部的腳本

波斯汪 2019-08-30 16:44:06
在頁面底部編寫腳本并編寫腳本的區別/優點/缺點是什么?$(document).ready(function(){});
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

它本身很少,無論是哪種方式,DOM都可以讓你操作(我很擔心,直到我從谷歌讀到這個)。如果你使用頁面結尾技巧,你的代碼可能會被稱為最輕微,最輕微的一點,但沒有什么是重要的。但更重要的是,此選擇與將JavaScript鏈接到頁面的位置有關。


如果您將script標記包含在head依賴中ready,則瀏覽器會script在向用戶顯示任何內容之前遇到您的標記。在正常的事件過程中,瀏覽器停止運行并下載腳本,啟動JavaScript解釋器,然后將腳本交給它,然后在解釋器處理腳本時等待(然后jQuery以各種方式監視)為DOM做好準備)。(我說“在正常的過程中”,因為有些瀏覽器支持標簽上的async或defer屬性script。)


如果script在body元素的末尾包含標記,則在您的頁面基本上已經顯示給用戶之前,瀏覽器不會執行所有操作。這可以改善頁面的感知加載時間。


因此,為了獲得最佳的感知加載時間,請將腳本放在頁面底部。(這也是雅虎人的指導原則。)如果你打算這樣做,那么就沒有必要使用了ready,當然如果你喜歡的話也可以。


但是有一個代價:您需要確保用戶可以看到的內容已準備好與之互動。通過將下載時間移動到頁面大量顯示之后,可以增加用戶在加載腳本之前開始與頁面交互的可能性。這是將script標簽放在最后的反駁論據之一。通常這不是一個問題,但你必須查看你的頁面,看它是否是,如果是,你想如何處理它。(你可以在一個小的內聯 script元素中head設置一個文檔范圍的事件處理程序來處理這個問題。這樣,你可以獲得改進的加載時間但是如果 他們試圖過早做某事,你可以告訴他們,或者更好的是,將他們想做的事情排隊,并在你的完整腳本準備就緒時進行。)


查看完整回答
反對 回復 2019-08-30
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

在加載js之前處理交互的另一種方法是使頁面無需javascript即可開始工作。確保所有鏈接都有效,盡管它們當然會觸發頁面重新加載。然后用js劫持鏈接和其他東西,并添加你的ajax或其他鈴聲和口哨:) 

查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 379 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號