假設我的網站上有這個腳本標記(從SO借來)。我的網站應該如何妥善處理缺少JavaScript文件?
<script type="text/javascript" async=""
src="http://edge.quantserve.com/quant.js"></script>
如果edge.quantserve.com
下降或停止,不返回404響應,不會那麼必須等待頁面加載的其餘部分之前超時?我在想混沌猴會出現,並將我的站點所依賴的服務器發送出去,這是一個不屬於CDN並且故障轉移不良的服務器。
解決此問題的行業標準方法是什麼?我無法找到這樣的蠢事,也許我正在尋找錯誤的條款。
更新:我應該更緊密地在SO碼打量了一下,有這個底部:
<script type="text/javascript">var _gaq=_gaq||[];_gaq.push(['_setAccount','UA-5620270-1']);
_gaq.push(['_setCustomVar', 2, 'accountid', '14882',2]);
_gaq.push(['_trackPageview']);
var _qevents = _qevents || [];
(function(){
var s=document.getElementsByTagName('script')[0];
var ga=document.createElement('script');
ga.type='text/javascript';
ga.async=true;
ga.src='http://www.google-analytics.com/ga.js';
s.parentNode.insertBefore(ga,s);
var sc=document.createElement('script');
sc.type='text/javascript';
sc.async=true;
sc.src='http://edge.quantserve.com/quant.js';
s.parentNode.insertBefore(sc,s);
})();
</script>
確定,因此,如果quant.js
文件加載失敗,它創建一個腳本標籤與ga.async=true;
。也許這就是訣竅。
可能的答案:https://stackoverflow.com/a/1834129/30946
對於像分析這樣的東西,確實沒有問題。對於其他應用程序級別的腳本,您可能需要提醒用戶該問題,或者自動刷新頁面。 (Gmail會這樣做。) – Brad 2012-07-31 21:24:24
難道你不能回退到本地副本嗎? Ex(使用jQuery):'' – j08691 2012-07-31 21:26:39
您是否主要關心外部請求超時之前的漫長等待時間?第一個答案和以上評論解決了另一個問題。 – 2012-07-31 21:29:27