首頁 web前端 js教程 js異步載入的三種解決方案_javascript技巧

js異步載入的三種解決方案_javascript技巧

May 16, 2016 pm 05:41 PM
非同步載入 阻塞

預設情況javascript是同步載入的,也就是javascript的載入時阻塞的,後面的元素要等待javascript載入完畢後才能進行再加載,對於某些意義不是很大的javascript,如果放在頁頭會導致載入很慢的話,是會嚴重影響使用者體驗的。

(1) defer,只支援IE
defer屬性的定義和用法(我摘自w3school網站)
defer 屬性規定是否對腳本執行進行延遲,直到頁面加載為止。
有的 javascript 腳本 document.write 方法來建立目前的文件內容,其他腳本就不一定是了。

如果您的腳本不會改變文件的內容,可將 defer 屬性加入到 <script> 標籤中,以便加快處理文件的速度。因為瀏覽器知道它將能夠安全地讀取文件的剩餘部分而不用執行腳本,它將推遲對腳本的解釋,直到文件已經顯示給使用者為止。 <BR>範例:<BR><div class="codetitle"><span><a style="CURSOR: pointer" data="71033" class="copybut" id="copybut71033" onclick="doCopy('code71033')"><U>複製程式碼 程式碼如下:<div class="codebody" id="code71033"> <BR><script type="text/script type="text/ javascript" defer="defer"> <BR>alert(document.getElementById("p1").firstChild.nodeValue); <BR></script>

(2) async
async的定義和用法(是HTML5的屬性)
async 屬性規定一旦腳本可用,則會非同步執行。
範例:

複製程式碼 程式碼如下:



註解:async 屬性僅適用於外部腳本(只有在使用src 屬性時)。
註解:有多種執行外部腳本的方法:
•如果async="async":腳本相對於頁面的其餘部分異步地執行(當頁面繼續進行解析時,腳本將被執行)
•如果不使用async 且defer="defer":腳本將在頁面完成解析時執行
•如果既不使用async 也不使用defer:在瀏覽器繼續解析頁面之前,立即讀取並執行腳本

(3) 建立script,插入到DOM中,載入後callBack,見程式碼:
複製程式碼


程式碼如下:


function loadScript(url, callback){
var script = document.createElement_x("script")
script.type = "text/ javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
} else { //Others: Firefox, Safari, Chrome, and Opera
} else { //Others: Firefox, Safari, Chrome, and Opera
} else { //Others: Firefox, Safari, Chrome, and Opera
} else { //Others: Firefox, Safari, Chrome, and Opera
} 是>script.onload = function(){ callback(); }; } script.src = url; document.body.appendChild(script); };
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

有效應對jQuery .val()不起作用的情勢 有效應對jQuery .val()不起作用的情勢 Feb 20, 2024 pm 09:36 PM

標題:解決jQuery.val()不起作用的方法及程式碼範例在前端開發中,常會使用到jQuery來操作頁面元素。其中,取得或設定表單元素的值是常見的操作之一。通常,我們會使用jQuery的.val()方法來實作表單元素值的運算。然而,有時會遇到jQuery.val()不起作用的情況,這可能會導致一些問題。本文將介紹如何有效應對jQuery.val(

c#什麼是委託解決什麼問題 c#什麼是委託解決什麼問題 Apr 04, 2024 pm 12:42 PM

委託是一種類型安全的參考類型,用於在物件之間傳遞方法指針,解決非同步程式設計和事件處理問題:非同步程式設計:委託允許在不同執行緒或進程中執行方法,提高應用程式回應能力。事件處理:委託簡化了事件處理,允許建立和處理事件,例如點擊或滑鼠移動。

html怎麼讀取 html怎麼讀取 Apr 05, 2024 am 08:36 AM

雖然HTML 本身無法讀取文件,但可以透過以下方法實作文件讀取:使用JavaScript(XMLHttpRequest、fetch());使用伺服器端語言(PHP、Node.js);使用第三方函式庫(jQuery.get() 、axios、fs-extra)。

提升網站速度的關鍵最佳化模式,每個前端開發者都必須掌握! 提升網站速度的關鍵最佳化模式,每個前端開發者都必須掌握! Feb 02, 2024 pm 05:36 PM

前端開發者必備:掌握這些最佳化模式,讓網站飛起來!隨著網路的快速發展,網站已成為企業宣傳和交流的重要管道之一。一個效能優良、載入迅速的網站不僅可以提升使用者體驗,還可以吸引更多的訪客。身為前端開發者,掌握一些最佳化模式是不可或缺的。本文將介紹一些常用的前端優化技術,幫助開發者更好地優化網站。壓縮檔案在網站開發中,經常使用的檔案類型包括HTML、CSS和J

了解Go語言中阻塞的實作方法與優勢 了解Go語言中阻塞的實作方法與優勢 Mar 24, 2024 am 08:36 AM

Go語言是一種並發特性十分強大的程式語言,它採用了goroutine的概念來實現並發,同時也提供了豐富的工具和方法來處理阻塞。在Go語言中,阻塞的實作方法與優勢是我們需要了解的重要內容。本文將介紹Go語言中阻塞的實作方法及其優勢,並提供具體的程式碼範例來幫助讀者更好地理解。阻塞的實作方法在Go語言中,阻斷可以透過多種方式實現,其中包括通道(channel)、互

html怎麼引入外部js html怎麼引入外部js Apr 11, 2024 am 06:18 AM

若要在 HTML 中引入外部 JS 文件,請使用 <script> 標籤並指定要載入的文件的 URL。也可以指定 type、defer 或 async 屬性來控制載入和執行方式。通常,<script> 標籤應放置在 <body> 部分的底部,以避免阻塞頁面渲染。

如何在WordPress中實現頁面不跳轉設定? 如何在WordPress中實現頁面不跳轉設定? Mar 05, 2024 am 09:33 AM

如何在WordPress中實現頁面不跳轉設定?在網站開發中,有時我們希望在WordPress中實現頁面不跳轉的設置,即在某些操作的時候,頁面內容可以更新但不刷新整個頁面。這樣可以提升使用者體驗,讓網站更加流暢。接下來,我們將分享如何在WordPress中實作頁面不跳轉設定的方法,並提供具體的程式碼範例。首先,我們可以使用Ajax來實現頁面不跳轉的功能。 Ajax

PHP搜尋功能最佳化技巧分享 PHP搜尋功能最佳化技巧分享 Mar 06, 2024 am 11:12 AM

PHP搜尋功能一直是網站開發中非常重要的一環,因為使用者往往會透過搜尋框來尋找所需資訊。然而,不少網站在實現搜尋功能時存在效率低、搜尋結果不準確等問題。為了幫助大家優化PHP搜尋功能,本文將分享一些技巧,並提供具體的程式碼範例。 1.使用全文搜尋引擎傳統的SQL資料庫在處理大量文字內容時效率較低,因此建議使用全文搜尋引擎,如Elasticsearch、Solr等

See all articles