国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

script標(biāo)簽的異步屬性解析及使用方法

  在網(wǎng)頁開發(fā)中,為了避免JavaScript阻塞頁面加載,通常將script標(biāo)簽放在body標(biāo)簽?zāi)┪?。然而,有時(shí)候我們需要更細(xì)粒度地控制腳本的加載和執(zhí)行順序。這就涉及到script標(biāo)簽的異步屬性。

同步模式

  同步模式,也被稱為阻塞模式,會(huì)阻止瀏覽器的后續(xù)執(zhí)行,停止后續(xù)解析,只有當(dāng)前腳本加載完成才能進(jìn)行下一步操作。這可能導(dǎo)致頁面加載速度變慢,用戶體驗(yàn)下降。

異步模式

  異步模式可以通過async屬性或defer屬性來實(shí)現(xiàn)。

async屬性

  使用async屬性可以使腳本異步加載。例如:

<script async></script>
<!-- 或 -->
<script async="true"></script>

  如果使用createElement方法創(chuàng)建的script標(biāo)簽,默認(rèn)的async屬性值為true。

defer屬性

  使用defer屬性可以延遲腳本的執(zhí)行,直到整個(gè)頁面在內(nèi)存中正常渲染結(jié)束。例如:

var elm = document.createElement("script");
elm.defer = true;

  defer與async之間有一些重要區(qū)別:defer會(huì)等到整個(gè)頁面在內(nèi)存中正常渲染結(jié)束后執(zhí)行腳本,而async則是腳本下載完就立即執(zhí)行,可能導(dǎo)致渲染引擎中斷渲染。另外,多個(gè)defer腳本按它們?cè)陧撁娉霈F(xiàn)的順序加載,而多個(gè)async腳本無法保證加載順序。

  綜上所述,script標(biāo)簽的異步屬性可以幫助我們更好地控制腳本的加載和執(zhí)行順序,從而提升頁面加載速度和用戶體驗(yàn)。

  在本篇博文中,我們?cè)敿?xì)介紹了script標(biāo)簽的異步屬性及其使用方法。我們討論了同步模式、異步模式以及使用createElement方法創(chuàng)建的script標(biāo)簽的默認(rèn)異步屬性。此外,我們還解釋了defer屬性和async屬性的差異,并提醒注意它們對(duì)頁面渲染的影響。

  關(guān)鍵詞:script標(biāo)簽,異步屬性,阻塞模式,同步模式,createElement,defer屬性,async屬性,渲染引擎文章來源地址http://www.zghlxwxcb.cn/article/544.html

到此這篇關(guān)于script標(biāo)簽的異步屬性解析及使用方法的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/544.html

如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)聯(lián)系站長進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【W(wǎng)PF應(yīng)用39】WPF 控件深入解析:SaveFileDialog 的屬性與使用方法

    在 Windows Presentation Foundation (WPF) 中,SaveFileDialog 控件是一個(gè)非常重要的文件對(duì)話框,它允許用戶在文件系統(tǒng)中選擇一個(gè)位置以保存文件。這個(gè)控件提供了很多屬性,可以自定義文件對(duì)話框的顯示內(nèi)容和行為。 本文將詳細(xì)介紹 SaveFileDialog 控件的屬性和功能,如何在 WPF 應(yīng)用程序

    2024年04月12日
    瀏覽(30)
  • HTML中script 標(biāo)簽中的那些屬性

    在HTML中, script 標(biāo)簽用于嵌入或引用JavaScript代碼。 在 script 標(biāo)簽中,有兩個(gè)屬性可以用來控制腳本的加載和執(zhí)行方式: async 和 defer 。 當(dāng)然這也是常見的一道面試題, async ? 和? defer 的作用和區(qū)別。 async 和 defer 屬性都可以用于異步加載腳本,從而避免了在加載腳本時(shí)阻塞瀏

    2024年02月01日
    瀏覽(21)
  • (線程池)多線程使用場(chǎng)景--es數(shù)據(jù)批量導(dǎo)入、數(shù)據(jù)匯總、異步調(diào)用;如何控制某個(gè)方法允許并發(fā)訪問線程的數(shù)量;對(duì)ThreadLocal的理解及實(shí)現(xiàn)原理、源碼解析、ThreadLocal的內(nèi)存泄露問題

    (線程池)多線程使用場(chǎng)景--es數(shù)據(jù)批量導(dǎo)入、數(shù)據(jù)匯總、異步調(diào)用;如何控制某個(gè)方法允許并發(fā)訪問線程的數(shù)量;對(duì)ThreadLocal的理解及實(shí)現(xiàn)原理、源碼解析、ThreadLocal的內(nèi)存泄露問題

    CountDownLatch(閉鎖/倒計(jì)時(shí)鎖) 用來進(jìn)行線程同步協(xié)作,等待所有線程完成倒計(jì)時(shí)(一個(gè)或者多個(gè)線程,等待其他多個(gè)線程完成某件事情之后才能執(zhí)行) 其中構(gòu)造參數(shù)用來初始化等待計(jì)數(shù)值 await() 用來等待計(jì)數(shù)歸零 countDown() 用來讓計(jì)數(shù) 減一 多線程使用場(chǎng)景一:( es數(shù)據(jù)批量導(dǎo)

    2024年04月25日
    瀏覽(47)
  • script 標(biāo)簽中 async 和 defer 屬性的作用分別是什么?

    script 標(biāo)簽中 async 和 defer 屬性的作用分別是什么?

    前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個(gè)專欄是為那些對(duì)Web開發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無論你是完全的新手還是有一些基礎(chǔ)的開發(fā)者,這里都將為你提供一個(gè)系統(tǒng)而又親切的學(xué)習(xí)平臺(tái)。在這個(gè)

    2024年02月13日
    瀏覽(28)
  • 玩轉(zhuǎn)代碼|Script 標(biāo)簽中的async與defer屬性詳細(xì)分析

    玩轉(zhuǎn)代碼|Script 標(biāo)簽中的async與defer屬性詳細(xì)分析

    在面試的時(shí)候,經(jīng)常會(huì)遇到一道經(jīng)典的面試題: 如何優(yōu)化網(wǎng)頁加載速度? 常規(guī)的回答中總會(huì)有一條: 把 css 文件放在頁面頂部,把 js 文件放在頁面底部。 那么,為什么要把 js 文件放在頁面的最底部呢? 我們先來看下這段代碼: 他的執(zhí)行順序是: 在控制臺(tái)打?。?Howdy ~ 請(qǐng)

    2024年02月15日
    瀏覽(27)
  • 【JavaScript】對(duì)象 ② ( 對(duì)象使用 | 調(diào)用對(duì)象屬性 | 調(diào)用對(duì)象方法 | 變量與屬性區(qū)別 | 函數(shù)與方法區(qū)別 )

    【JavaScript】對(duì)象 ② ( 對(duì)象使用 | 調(diào)用對(duì)象屬性 | 調(diào)用對(duì)象方法 | 變量與屬性區(qū)別 | 函數(shù)與方法區(qū)別 )

    使用字面量創(chuàng)建對(duì)象要點(diǎn) : 在上一篇博客 【JavaScript】對(duì)象 ① ( 對(duì)象概念 | 對(duì)象使用場(chǎng)景 | 使用字面量創(chuàng)建對(duì)象 | 空對(duì)象字面量 | 小括號(hào) / 中括號(hào) / 大括號(hào) 作用 ) 中 , 介紹了 使用 字面量 創(chuàng)建對(duì)象 , 有如下要點(diǎn) : 鍵值對(duì) : 對(duì)象字面量 中的 屬性 和 方法 都是以 \\\" 鍵值對(duì) \\\" 的形

    2024年04月14日
    瀏覽(26)
  • Spring+MyBatis使用collection標(biāo)簽的兩種使用方法

    Spring+MyBatis使用collection標(biāo)簽的兩種使用方法

    目錄 項(xiàng)目場(chǎng)景: 實(shí)戰(zhàn)操作: 1.創(chuàng)建菜單表 2.創(chuàng)建實(shí)體? 3.創(chuàng)建Mapper 4.創(chuàng)建xml? 屬性描述: 效率比較: 本文說明了Spring Boot+MyBatis使用collection標(biāo)簽的兩種使用方法 1. 方法一: 關(guān)聯(lián)查詢 2. 方法二: 嵌套select查詢 這里只創(chuàng)建一張表,樹結(jié)構(gòu)只有兩級(jí),方便學(xué)習(xí),多表關(guān)聯(lián)是同樣的

    2024年02月09日
    瀏覽(29)
  • 微信小程序中封裝請(qǐng)求,使用Async await方法,將異步請(qǐng)求變?yōu)橥秸?qǐng)求方法

    微信小程序中封裝請(qǐng)求,使用Async await方法,將異步請(qǐng)求變?yōu)橥秸?qǐng)求方法

    介紹 微信小程序中,很多 API 都是異步的,無法同步處理。可以使用高級(jí)封裝,通過 async await 方法來同步處理。 方法 在小程序右上角的 詳情 里選擇 本地設(shè)置 , 勾選 ES6轉(zhuǎn)ES5 ,如下所示: 由于 Async Await 是 ES7 語法,所以在小程序里勾選 es6 轉(zhuǎn) ES5 會(huì)報(bào)錯(cuò): ReferenceError: regene

    2024年02月08日
    瀏覽(30)
  • 【微信小程序】使用 wx.request 方法進(jìn)行異步網(wǎng)絡(luò)請(qǐng)求

    在微信小程序中,你可以使用 wx.request 方法進(jìn)行異步網(wǎng)絡(luò)請(qǐng)求,并將獲取到的列表數(shù)據(jù)渲染到 UI 上。 首先,在頁面的 data 中定義一個(gè)數(shù)組變量,用于存儲(chǔ)獲取到的列表數(shù)據(jù),例如: 然后,在頁面的生命周期函數(shù) onLoad 或需要觸發(fā)網(wǎng)絡(luò)請(qǐng)求的函數(shù)中,使用 wx.request 方法發(fā)送異

    2024年02月16日
    瀏覽(42)
  • Java高并發(fā)系列: 使用wait - notify實(shí)現(xiàn)高效異步方法

    Java高并發(fā)系列: 使用wait - notify實(shí)現(xiàn)高效異步方法

    在項(xiàng)目開發(fā)中, 通常會(huì)有異步執(zhí)行操作, 例如: 提交一個(gè)異步清空一系列數(shù)據(jù)庫中ID = ${_id} 的記錄, 這個(gè)時(shí)候通常的做法是主線程將任務(wù)添加到一個(gè)異步隊(duì)列中, 后臺(tái)維護(hù)一個(gè)線程不斷地 循環(huán) 掃描這個(gè)隊(duì)列, 如果有需要執(zhí)行的任務(wù), 則執(zhí)行相應(yīng)的邏輯. 如下圖所示: 代碼實(shí)現(xiàn)如下

    2024年02月09日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包