由于第三方cdn庫的盛行,很多朋友會(huì)選擇使用第三方的類庫,從學(xué)習(xí)上來說不建議大家都使用類庫,這樣我們失去了很多學(xué)習(xí)的機(jī)會(huì),但使用上來說解決了很多代碼兼容問題,這里都不多說了。
成都創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10余年,專業(yè)且經(jīng)驗(yàn)豐富。10余年網(wǎng)站優(yōu)化營銷經(jīng)驗(yàn),我們已為上1000家中小企業(yè)提供了成都做網(wǎng)站、網(wǎng)站建設(shè)解決方案,定制設(shè)計(jì),設(shè)計(jì)滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
使用CDN加載jQuery類庫一是可以省一點(diǎn)帶寬,二是可以給用戶帶來更快的頁面加載體驗(yàn)。
因?yàn)閭€(gè)人網(wǎng)站規(guī)模與cdn的帶寬問題,現(xiàn)在cdn費(fèi)用雖然下來了,但也有不給力的時(shí)候,很多朋友都會(huì)選擇使用第三方的jquery庫,個(gè)人推薦幾個(gè)國內(nèi)的 百度、新浪、bootcdn
下面的兩段代碼的作用 如果cdn的jquery沒有加載進(jìn)來,我們可以使用本地的類庫。
jquery下載地址
第一種:推薦用法
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='/skin/mobile/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } </script>
上面,我們引用了百度 CDN的jQuery庫,接著我們?cè)谀_本代碼后添加了一個(gè)if語句來判斷jQuery庫是否加載成功,如果沒有加載成功我們動(dòng)態(tài)加載本地jQuery庫。
其中,我們?cè)赿ocument.write方法中直接使用了URL編碼,把“<”編碼為“%3C”,接著我們?cè)偈褂胾nescape()方法把字符串還原過來。
我們通過unescape()方法把字符串轉(zhuǎn)換回來,我們可以看到輸出是一個(gè)正常的腳本引用代碼。
現(xiàn)在,我們有一個(gè)疑問就是“為什么不使用常規(guī)字符,而是要使用字符編碼呢?”,其實(shí)這是有原因的,這意味著我們代碼將可以在XML、XHTML或HTML中正常運(yùn)行,而無需把代碼包含在CDATA中(具體請(qǐng)參考這里)。
第二種:
<script src="http://lib.sinaapp.com/js/jquery11/1.8/jquery.min.js"></script> <script>window.jQuery || document.write(unescape("%3Cscript src='/skin/mobile/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E"))</script>
上面這種跟第一種原理是一樣的,就是通過 || 運(yùn)算符
表達(dá)式a || 表達(dá)式b : 計(jì)算表達(dá)式a(也可以是函數(shù))的運(yùn)算結(jié)果,
如果為 Fasle, 執(zhí)行表達(dá)式b(或函數(shù)),并返回b的結(jié)果;
如果為 True,返回a的結(jié)果;
意思也是如果window.jQuery為false則加載本地的jquery庫。
requireJs 引用cdn失敗后加載本地js
問題:頁面中引用js和css過多會(huì)導(dǎo)致頁面加載變慢
引用cdn中的js和css會(huì)比直接在本地上傳時(shí)間短
解決辦法:我本地項(xiàng)目用到requireJs加載頁面中的js和css,變?yōu)閏dn加載時(shí)需要改動(dòng)如下
1.jquery: ["https://cdn.bootcssddd.com/jquery/1.11.1/jquery.min","static/lib/jquery/jquery-1.9.1.min"],
2.增加build.js 代碼如下
({ baseUrl: "/js", paths: { "jquery": "empty:" }, dir: "/js-build", optimize: "uglify", optimizeCss: "standard.keepLines", mainConfigFile: "config.js",//config.js為1中引用的文件 removeCombined: true, })
這篇文章就介紹到這了,后續(xù)創(chuàng)新互聯(lián)小編會(huì)為大家分享更多的資料。
本文名稱:jquery引入外部CDN加載失敗則引入本地jq庫
文章地址:http://www.muchs.cn/article42/ippphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、全網(wǎng)營銷推廣、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司、虛擬主機(jī)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)