最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于延遲加載JavaScript

 更新時間:2015年05月05日 10:28:01   投稿:hebedich  
當一個網(wǎng)站有很多js代碼要加載,js代碼放置的位置在一定程度上將會影像網(wǎng)頁的加載速度,為了讓我們的網(wǎng)頁加載速度更快,本文總結(jié)了一下幾個注意點,分享給大家

JavaScript的延遲加載是那些在web上,能讓你想抓狂地去尋找解決方案的問題之一。

很多人說“那就用defer”或“async”,甚至有些人說“那就將你的javascript代碼放在頁面代碼底部”。

上述方法都不能解決在web頁面完全加載后,再加載外部js的問題。上述方法也會偶爾讓你收到Google頁面速度測試工具的“延遲加載javascript”警告。所以這里的解決方案將是來自Google幫助頁面的推薦方案。

如何延遲加載JavaScript

下面是Google推薦的代碼。這些代碼應(yīng)被放置在</body>標簽前(接近HTML文件底部)。另外,我將外部JS文件名突出顯示。

<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>

這里做了什么?
這段代碼意思是等到整個文檔加載完后,再加載外部文件“defer.js”。

具體說明

1.復(fù)制上面代碼

2.粘貼代碼到HTML的</body>標簽前 (靠近HTML文件底部)

3.修改“defer.js”為你的外部JS文件名

4.確保你文件路徑是正確的。例如:如果你僅輸入“defer.js”,那么“defer.js”文件一定與HTML文件在同一文件夾下。

這段代碼能用在哪里(和哪里不能用)

這段代碼直到文檔加載完才會加載指定的外部JS文件。因此,不應(yīng)該把那些頁面正常加載需要依賴的javascript代碼放在這里。而應(yīng)該將JavaScript代碼分成兩組。一組是因頁面需要而立即加載的javascript代碼,另外一組是在頁面加載后進行操作的javascript代碼(例如添加click事件或其他東西)。這些需等到頁面加載后再執(zhí)行的JavaScript代碼,應(yīng)放在一個外部文件,然后再引進來。

例如,在這頁面我使用上述文件進行延遲加載 - Google analytics,Viglink (我怎么賺錢),和顯示在底部的Google+徽章(我的社交媒體)。這對于我來說,沒有理由在初始頁面加載時加載這些文件,因為初始階段都沒必要加載上述無關(guān)緊要的內(nèi)容。也許在你的頁面中也有同樣性質(zhì)的文件。那你難道想讓用戶在看到網(wǎng)頁內(nèi)容之前,還要等待這些文件加載嗎?

為什么不使用其它方法呢?

直接插入代碼、將腳本放置在底部和使用“defer”或“async”,這幾種方法都不能達到先加載頁面后加載JS的目的,而且它們肯定不能在各個瀏覽器上表現(xiàn)一致。

它為什么重要?

它的重要性是由于Google將頁面速度作為排名因素之一而且用戶也希望能快速加載頁面。另外對于移動搜索引擎優(yōu)化也是非常重要的。Google根據(jù)頁面最初加載時間來衡量頁面速度。這意味著你必須盡可能快地得到頁面的load事件。頁面最初加載時間是Google用來評價你的web頁面質(zhì)量(而且別忘記用戶在等待頁面的加載)。Google積極推進和推薦將上述的無關(guān)緊要的內(nèi)容按重要性排列,讓所有資源(js,css,images等)脫離關(guān)鍵的渲染路徑,而且這樣做是值得去努力的。如果這樣能取悅用戶,且讓Google開心,你很應(yīng)該這樣做。

用法示例

我已創(chuàng)建一個頁面,在這個頁面你可看到這段代碼的使用。

讓你測試的示例文件

好的,為了說明,我已制作幾個示例頁面讓你進行測試。每個頁面都做同一樣的事情。這是一個普通的HTML頁面,含有一個等待2秒然后輸出“hello world”的javascript腳本。你可以測試這些文件,然后你會看到只有一種方法,它的加載時間是不包括2秒的等待時間。

直接插入腳本的頁面 – 點擊這里

帶有使用“defer”外部腳本的頁面 – 點擊這里
使用上述推薦代碼的頁面 – 點擊這里

關(guān)鍵點

壓倒一切的首要任務(wù)應(yīng)該是盡可能快地交付內(nèi)容給用戶。而我們一直沒想著如何對待我們的javascript代碼。但用戶不應(yīng)該為一些無關(guān)緊要的腳本,而被迫地為內(nèi)容而作出等待。無論你的頁腳多酷,都沒理由讓一個可能從不滾動到頁腳的用戶,去加載那些讓頁腳變酷的javascript文件。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • 16個最流行的JavaScript框架[推薦]

    16個最流行的JavaScript框架[推薦]

    這篇文章列舉了當下最流行的16個 JavaScript 框架,既包含 jQuery 和 Mootools 等常規(guī)框架,也有Zepo這種支持智能手機觸摸功能的移動JavaScript框架,如果你有更好的框架推薦,歡迎與我們分享。
    2011-05-05
  • 教你用JS獲取Headers頭部信息

    教你用JS獲取Headers頭部信息

    這篇文章主要給大家介紹了關(guān)于用JS獲取Headers頭部信息的相關(guān)資料,頭部信息是在JavaScript中進行網(wǎng)絡(luò)請求時常用的操作,Headers 頭部信息包含了請求或響應(yīng)的元數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • 基于JavaScript+HTML編寫一個日期選擇插件

    基于JavaScript+HTML編寫一個日期選擇插件

    在現(xiàn)代Web應(yīng)用程序中,日期選擇器是一個非常常見的組件,用戶可以使用它來選擇特定的日期,在本篇文章中,我們將使用JavaScript和HTML來創(chuàng)建一個簡單但功能強大的日期選擇插件,這個日期選擇插件是比較考驗Js基本功的,需要的朋友可以參考下
    2023-10-10
  • 微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能【附源碼下載】

    微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能【附源碼下載】

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能,涉及微信小程序使用wx.openLocation函數(shù)獲取經(jīng)緯度信息的相關(guān)使用技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2017-12-12
  • ES2020 已定稿,真實場景案例分析

    ES2020 已定稿,真實場景案例分析

    許多新的特性被提議包括在 ES2020版本中。好消息是這些已經(jīng)已經(jīng)敲定。 現(xiàn)在,我們獲得了最終定稿的功能清單,它們將在被批準發(fā)布之后出現(xiàn)在備受期待的 ES2020 中,具體內(nèi)容詳情,大家可以閱讀下本文
    2020-05-05
  • JavaScript每天必學(xué)之事件

    JavaScript每天必學(xué)之事件

    JavaScript每天必學(xué)之事件,聊一聊事件冒泡與捕獲、事件冒泡的好處,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JS常用正則表達式總結(jié)

    JS常用正則表達式總結(jié)

    JS常用正則表達式總結(jié)。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • 微信小程序虛擬列表的應(yīng)用實例

    微信小程序虛擬列表的應(yīng)用實例

    虛擬列表不是什么神秘的東西,下面這篇文章主要給大家介紹了關(guān)于微信小程序虛擬列表的應(yīng)用實例,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • Bootstrap Table實現(xiàn)定時刷新數(shù)據(jù)的方法

    Bootstrap Table實現(xiàn)定時刷新數(shù)據(jù)的方法

    這篇文章主要介紹了Bootstrap Table實現(xiàn)定時刷新數(shù)據(jù)的方法,在這里小編比較推薦使用第二種方法,需要的朋友參考下吧
    2018-08-08
  • javascript對下拉列表框(select)的操作實例講解

    javascript對下拉列表框(select)的操作實例講解

    這篇文章主要介紹了javascript對下拉列表框(select)的操作。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11

最新評論

正安县| 深州市| 阿克陶县| 宝应县| 怀化市| 雷州市| 昭觉县| 左云县| 衡阳县| 客服| 政和县| 华池县| 视频| 太康县| 宁远县| 兴仁县| 景泰县| 车险| 彭山县| 乐都县| 高尔夫| 黑水县| 宣威市| 防城港市| 察隅县| 九寨沟县| 黔江区| 平果县| 揭东县| 衡阳县| 井陉县| 岑巩县| 宜阳县| 嘉善县| 东乌珠穆沁旗| 巴中市| 怀远县| 静乐县| 西畴县| 临沂市| 苗栗县|