當連不上主要jQuery伺服器時,自動讀取第二個jQuery伺服器

12 / 25, 2012 架站技巧 , 網站優化

之前看過一個朋友的網站,一進去介面就是完全大悲劇,整個跑版,文字和原始碼混在一起,一開始小弟以為這位朋友又在亂改網頁了,於是就用FB傳了一個訊息告訴他,2分鐘後,他才回信,結果讓小弟很驚訝,他說他「並沒有」改過網頁,於是小弟發揮偵探的精神,找了又找,終於在一個地方找到問題了:jQuery


原來是那位朋友網站用的jQuery來自某CDN,而那時可能是伺服器在維修,連不上去,這時小弟才發現:原來為了加快速度減少流量用的CDN,有時候反而是網站出問題的元兇,所以一定要有第二個備用方案,避免發生悲劇…

但這要用PHP嗎?不,簡單一句JS幫你解決這個問題:

<script src="主要網址"></script>
<script>window.jQuery || document.write('<script src="備用網址"><\/script>')</script>

例如

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"></script>
<script>window.jQuery || document.write('<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js "><\/script>')</script>

就這樣,雖然這段程式碼會在原始碼中出現,但如果主要網址沒失效,就不會是跑備用網址!