麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

使用CDN和AJAX加速WordPress中jQuery的加載

2024-09-01 08:33:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了使用CDN和AJAX加速WordPress中jQuery的加載的方法,注意一下WordPress中以及CDN的Google連接在內地的網絡問題,需要的朋友可以參考下
 

確定要放在Head部分 ?

事實上最好的情況是,js文件都不要在<head>部分進行加載,否則會影響到head部分的載入速度,直接導致網站的內容(body)載入延遲。如果你確定你不需要在head部分載入jQuery,請將載入代碼移動到</body>前,準確的說是第一個會用到jQuery函數的javascript代碼前。

當然,如果你需要head部分加載jquery,也請確保所有的js文件,包括jquery,都要放在調用CSS文件的代碼之后,來實現同步下載。這也是Google官方給出的建議。例如下面的加載不推薦:

<script src=jquery.js></script><link href="style.css" .../>

而是應該使用:

<link href="style.css" .../><script src=jquery.js></script>

確定不要異步加載 ?

異步加載不會阻塞網頁的載入,而非異步加載則會在加載本身js之前短暫阻塞瀏覽器的網頁載入。這可能影響瀏覽體驗。

如果你的加載代碼是

<script type="text/javascript" src="jquery.js"></script>

那么你需要知道這可不是異步加載的方式,這是一種同步加載。如果你不需要在頁面加載后及時的調用jquery函數,你完全可以用異步加載的方式,使得網頁onload之前才加載jquery,大大加快載入速度。這樣的代碼看起來像是Google Analytics的代碼。

(function(doc){var j =doc.createElement("script");j.type = "text/javascript"; j.async = true; j.src = "jquery.js";var s = doc.getElementsByTagName("script")[0];s.parentNode.insertBefore(j, s);})(document);

但是經我觀察,大多數的時候我們需要同步加載,尤其是你還需要引入jQuery插件的時候。

使用哪個版本的jQuery ?

wordpress總是自帶最新的jQuery庫,每一個版本的使用方法總有細微的不同。越新的jQuery版本,性能提升也越高。不過,某些jquery插件可能不太兼容太新的插件,而它自己也沒有推出更新。也許有些你會使用的方法函數,到了新版本發現已經被改變,曾經能工作的現在已經不能了。對于這種情況,應該遵從這樣的原則,那就是在確保兼容性的同時,做到使用盡可能新的jQuery庫。

例如你以前使用1.6.2版本的jquery,到了現在你發現2.X某些函數有改變,你又不愿意去變更代碼,就最好逐個調試,例如你發現1.7.2的兼容性就不錯。這個時候就可以拋棄1.6.2,可以用1.7.2版本的jQuery去替換掉2.X的新版。

使用哪個jQuery CDN庫 ?

jQuery實在是太大了!如果你的網站速度不是飛快,jquery肯定會影響到你的頁面加載速度。好在百度、新浪、微軟、Google等公司都推出了公共js庫,方便網站主調用來縮短下載時間,而它們本身有著超快的CDN服務器,節約了下載時間。

目前用的比較普遍的是Google提供的jquery庫:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

當然,百度在國內的訪問速度是不可小視的:

<script type="text/javascript" src="//libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>

新浪的CDN同樣速度飛快:

<script type="text/javascript" src="//lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>

不跟風,你也可以選擇微軟的jquery CDN:

<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js"></script>

你可以直接更改上面出現的版本號來選擇不同的版本。哪一個最快呢?如何選擇呢?

如果你的網站訪客來自海外的不少,建議選用Google,如果主要訪客是國內,選擇百度也沒問題。但是百度在海外的訪問速度可不及Google。

而且因為大多數的網站選擇了Google的CDN,由于緩存原理,來訪你的網站,可能google的CDN更快。

如果你不是確定自己的網站下載速度飛快,我建議最好選用上述的公開CDN來節省加載時間,同時也節省了流量。

真的要用jQuery嗎?

如果你的網站只是需要用帶jquery一個很小的函數,為什么要下載這么大的文件呢?為什么不可以jquery-free?

例如你可以考慮zepto.js,其設計目標“以最小的體積,做到最大兼容jQuery的API”。它在gzip壓縮后僅僅為10KB。

另外,jQuery有著模塊設計,可以選擇自己只是需要的模塊。你可以參考jquery builder。

加載jQuery的正確方式

說了那么多,加載jquery的正確方式是什么?

首先選好哪個CDN,或者你自己的網站托管js文件,并確定調用的位置在頭部還是body,下面以Google的jquery庫為例,普通的加載方式是

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

然而Google的服務在國內間歇性中斷,所以我可以照顧一下國內訪客,這么寫:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript%20type%3D%22text/javascript%22%20src%3D%22//libs.baidu.com/jquery/2.0.3/jquery.min.js%22%3E%3C/script%3E'));</script>

這樣子即可實現如果jQuery未能加載成功,則自動加載百度的jquery庫,做到萬無一失了。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品免高潮在线观看 | av手机在线免费播放 | 草草免费视频 | 羞羞视频.www在线观看 | 亚洲欧美国产精品va在线观看 | 蜜桃精品视频 | 免费视频一区 | 日韩av在线播放一区 | 91在线播放国产 | 欧美成人福利 | 国产91一区二区三区 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 极品xxxx欧美一区二区 | 国产一级毛片国语版 | 日本aaaa片毛片免费观蜜桃 | 欧美精品1区 | 色域tv| 五月天堂av91久久久 | av电影在线播放 | 久久国产精品区 | 国产一区二区国产 | 狼伊千合综网中文 | 国内精品久久久久久久星辰影视 | 欧美激情精品久久久久久久久久 | 精品成人国产在线观看男人呻吟 | 美女黄视频在线观看 | japanesexxxxxxxhd| 激情亚洲网 | 婷婷中文字幕一区二区三区 | 日本在线视频免费 | 老司机免费福利午夜入口ae58 | 久草在线视频看看 | 成人午夜免费av | 国产88久久久国产精品免费二区 | 国产人成免费爽爽爽视频 | 欧美成人高清视频 | 久久精品亚洲一区二区三区观看模式 | 曰本三级日本三级日本三级 | 萌白酱福利视频在线网站 | 久久精品久久久久 | 天天骑夜夜操 |