国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

async和DOM Script文件加載比較

2024-05-04 23:25:53
字體:
來源:轉載
供稿:網友

目前我用demo.js作為執行文件操作.代碼:

var now = function() { return +(new Date()); }var t_s = now();while(now() - t_s < 2000) { }

用sleep.php作為請求文件操作。代碼:

<?php sleep(3); echo 'var bb';?>

1. 一般script標簽加載

<script src="demo.js"></script><script src="sleep.php"></script>

在瀏覽器加載情況: 圖1-1. 下載阻塞DomReady 圖1-2. 執行阻塞DomReady


圖1-1. 下載阻塞DomReady

async和DOM Script文件加載比較


圖1-2. 執行阻塞DomReady

2. async屬性

async是html5中新增的屬性,它的作用是能夠異步下載腳本文件,不阻塞DOMReady。

每一個async屬性的腳本都在它下載結束之后立刻執行,同時會在window的load事件之前執行。所以就有可能出現腳本執行順序被打亂的情況

支持async瀏覽器: Firefox 3.6+, IE 10+, Chrome 2+, Safari 5+, iOS 5+, Android 3+

<script src="demo.js" async></script><script src="sleep.php" async></script>

在瀏覽器中加載的情況:


圖2-1 異步下載 不阻塞DomReady 阻塞load事件


圖2-2 執行阻塞load事件

async和DOM Script文件加載比較


圖2-3 IE9不支持async屬性下載阻塞DomReady

3. DOM Script動態加載

文檔對象模型(DOM)允許您使用 JavaScript 動態創建 HTML 的幾乎全部文檔內容。 script元素與頁面其他元素一樣,可以非常容易地通過標準 DOM 函數創建:

var loadScript = function(url) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = 'true'; s.src = url; document.getElementsByTagName('head')[0].appendChild(s); }// 加載js文件腳本loadScript('sleep.php');loadScript('demo.js');

在瀏覽器中加載的情況:

async和DOM Script文件加載比較


圖3-1 下載阻塞load事件

async和DOM Script文件加載比較


圖3-2 執行阻塞load事件

async和DOM Script文件加載比較


圖3-3 IE9不阻塞load事件

小結

async和script動態加載在現代瀏覽器中加載的情況是一致的。前者使用簡單,后在兼容性方面更好。 異步加載文件還有很多方法,ajax(會受到同源限制)、iFrame、img…

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肃北| 铜川市| 彭阳县| 忻城县| 商城县| 沁源县| 澄城县| 波密县| 巧家县| 潞城市| 甘肃省| 重庆市| 环江| 湘阴县| 渑池县| 江津市| 民丰县| 大名县| 镶黄旗| 金坛市| 威宁| 大丰市| 泉州市| 钦州市| 儋州市| 大英县| 永胜县| 洮南市| 叙永县| 安溪县| 伊宁县| 蕲春县| 台州市| 中阳县| 通榆县| 洞口县| 景泰县| 措勤县| 上思县| 叙永县| 扎囊县|