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

預(yù)加載css或javascript的js代碼

 更新時(shí)間:2010年04月23日 20:03:30   作者:  
為了提高網(wǎng)站的加載速度,有一個(gè)很重要的手段就是在用戶瀏覽過程中的上游網(wǎng)站做一個(gè)文件的預(yù)加載。
預(yù)加載文件一般有兩種常用的方式:xhr和動(dòng)態(tài)插入節(jié)點(diǎn)的方式。動(dòng)態(tài)插入節(jié)點(diǎn)是最為簡(jiǎn)單也最為廣泛的一種異步加載方式(例如yui的Get模塊),然后使用動(dòng)態(tài)插入節(jié)點(diǎn)方法加載的文件都會(huì)在加載后立即執(zhí)行,javascript的執(zhí)行一方面會(huì)占用瀏覽器js執(zhí)行進(jìn)程,另一方面也可能改變頁(yè)面結(jié)構(gòu),而css的執(zhí)行更有可能讓整個(gè)頁(yè)面變化。xhr方式雖然不會(huì)執(zhí)行腳本,但是由于同域的限制,且如今網(wǎng)站的靜態(tài)文件都是部署在cdn服務(wù)器上,如何預(yù)加載css js文件也變有點(diǎn)玄妙了。

Stoyan Stefanov 撰文簡(jiǎn)明的闡述了一種加載文件而不會(huì)讓之執(zhí)行的方法。原文可見 http://www.phpied.com/preload-cssjavascript-without-execution/

具體的方法是,ie中使用 new Image().src 去預(yù)加載文件,而其他瀏覽器使用動(dòng)態(tài)插入的 <object> 標(biāo)簽來完成加載。
部分代碼如下

復(fù)制代碼 代碼如下:

window.onload = function () {

var i = 0,
max = 0,
o = null,

// list of stuff to preload
preload = [
'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.png',
'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.js',
'http://tools.w3clubs.com/pagr2/<?php echo $id; ?>.sleep.expires.css'
],
isIE = navigator.appName.indexOf('Microsoft') === 0;

for (i = 0, max = preload.length; i < max; i += 1) {

if (isIE) {
new Image().src = preload[i];
continue;
}
o = document.createElement('object');
o.data = preload[i];

// IE stuff, otherwise 0x0 is OK
//o.width = 1;
//o.height = 1;
//o.style.visibility = "hidden";
//o.type = "text/plain"; // IE
o.width = 0;
o.height = 0;

// only FF appends to the head
// all others require body
document.body.appendChild(o);
}
};

demo 可見 http://phpied.com/files/object-prefetch/page1.php?id=1

幾點(diǎn)說明:
1. new Image().src 之所以不能在ff中使用是因?yàn)閒f對(duì)圖片實(shí)現(xiàn)了一套單獨(dú)的緩存。 同時(shí)safari和chrome看起來也沒有被緩存。

2. 動(dòng)態(tài)插入的 object 標(biāo)簽需要插入到非 head部分,以觸發(fā)加載。

3. ie7 ie8 也可以通過一些代碼使用動(dòng)態(tài)object加載文件(代碼注釋中有提到)。但是作者發(fā)現(xiàn)object 通常會(huì)消耗很大, so...


通過自身的實(shí)驗(yàn)發(fā)現(xiàn)相當(dāng)不錯(cuò)的,有需求的同學(xué)不妨一試。

相關(guān)文章

  • 簡(jiǎn)單實(shí)現(xiàn)js進(jìn)度條加載效果

    簡(jiǎn)單實(shí)現(xiàn)js進(jìn)度條加載效果

    這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)js進(jìn)度條加載效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript 自動(dòng)完成腳本整理(33個(gè))

    JavaScript 自動(dòng)完成腳本整理(33個(gè))

    所謂的提升用戶體驗(yàn),其實(shí)就是把所有用戶視為懶鬼,比如JavaScript自動(dòng)完成(Autocomplete)腳本, 常用于表單,用戶只需輸入一兩個(gè)字母,就為你擴(kuò)展、聯(lián)想、匹配和供君選擇,
    2009-10-10
  • 詳解ES9的新特性之異步遍歷Async iteration

    詳解ES9的新特性之異步遍歷Async iteration

    在ES6中,引入了同步iteration的概念,隨著ES8中的Async操作符的引用,是不是可以在一異步操作中進(jìn)行遍歷操作呢?今天要給大家講一講ES9中的異步遍歷的新特性Async iteration。
    2021-06-06
  • 關(guān)于微信小程序登錄的那些事

    關(guān)于微信小程序登錄的那些事

    這篇文章主要給大家介紹了關(guān)于微信小程序登錄的那些事,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Js callBack 返回前一頁(yè)的js方法

    Js callBack 返回前一頁(yè)的js方法

    通過 window.opener 實(shí)現(xiàn)。關(guān)于這個(gè)對(duì)象的用法請(qǐng)查閱相關(guān)資料。
    2008-11-11
  • JavaScript的六種繼承方式(推薦)

    JavaScript的六種繼承方式(推薦)

    繼承是面向?qū)ο缶幊讨杏忠环浅V匾母拍?,JavaScript支持實(shí)現(xiàn)繼承,不支持接口繼承,實(shí)現(xiàn)繼承主要依靠原型鏈來實(shí)現(xiàn)的
    2017-06-06
  • 使用js實(shí)現(xiàn)單鏈解決前端隊(duì)列問題的方法

    使用js實(shí)現(xiàn)單鏈解決前端隊(duì)列問題的方法

    這篇文章主要介紹了使用js實(shí)現(xiàn)單鏈解決前端隊(duì)列問題的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • JavaScript 繼承的實(shí)現(xiàn)

    JavaScript 繼承的實(shí)現(xiàn)

    正因?yàn)镴avaScript本身沒有完整的類和繼承的實(shí)現(xiàn),并且我們也看到通過手工實(shí)現(xiàn)的方式存在很多問題, 因此對(duì)于這個(gè)富有挑戰(zhàn)性的任務(wù)網(wǎng)上已經(jīng)有很多實(shí)現(xiàn)了
    2009-07-07
  • JavaScript在IE和Firefox瀏覽器下的7個(gè)差異兼容寫法小結(jié)

    JavaScript在IE和Firefox瀏覽器下的7個(gè)差異兼容寫法小結(jié)

    盡管那需要用長(zhǎng)串的、沉悶的不同分支代碼來應(yīng)付不同瀏覽器的日子已經(jīng)過去,偶爾還是有必要做一些簡(jiǎn)單的區(qū)分和目標(biāo)檢測(cè)來確保某塊代碼能在用戶的機(jī)器上正常運(yùn)行。
    2010-06-06
  • JavaScript:void(0)用法及一些常見問題解決辦法

    JavaScript:void(0)用法及一些常見問題解決辦法

    這篇文章主要介紹了javascript:void(0)在JavaScript中的用法,探討了其防止鏈接默認(rèn)行為的作用,提供了使用示例,并針對(duì)常見問題如與#的區(qū)別、事件綁定和鍵盤訪問進(jìn)行了講解,需要的朋友可以參考下
    2024-12-12

最新評(píng)論

海城市| 清远市| 文水县| 博野县| 虹口区| 永福县| 体育| 曲周县| 汝州市| 南充市| 平塘县| 天峨县| 桃园市| 晴隆县| 南澳县| 郎溪县| 海兴县| 巴彦县| 方正县| 图木舒克市| 衡山县| 兴安县| 丰镇市| 固原市| 瑞丽市| 广州市| 佳木斯市| 梓潼县| 宜兰县| 鹤峰县| 米林县| 东丽区| 柳江县| 高密市| 清流县| 遵义县| 北海市| 油尖旺区| 元阳县| 江华| 开江县|