2011-10-30 63 views
3

我從其他網站引用對象(圖像,腳本,iframe等)。有時,另一個網站已關閉,我必須等待約30秒才能讓瀏覽器「跳過」該對象。如何在5秒後「跳過」對象?Javascript:我如何「殺死」一個對象的加載?

下面是一些示例代碼:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script> 

回答

2

退房yepnope。下面是直接從它的主頁上的一個片段:

yepnope.js要做的後備資源,仍然下載 相關腳本與第一併行的能力。更明確地說:

yepnope([{ 
    load: 'http:/­/ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', 
    complete: function() { 
    if (!window.jQuery) { 
     yepnope('local/jquery.min.js'); 
    } 
    } 
}, { 
    load: 'jquery.plugin.js', 
    complete: function() { 
    jQuery(function() { 
     jQuery('div').plugin(); 
    }); 
    } 
}]); 

我建議決定是否推出自己之前調查yepnope和其他現有的腳本裝載機。這些裝載機非常小(yepnope聲稱是1.6 kB),所以通過編寫自己的解決方案沒有太大的收穫。

+0

偉大的一點。 [Modernizr](http://www.modernizr.com/)帶有yepnope iirc,還有[require.js](http://requirejs.org/)。 – kojiro

1

對於script,HTML5具有async屬性,該屬性通過允許腳本異步加載來抵消該難點。某些瀏覽器額外實現了類似的非標準defer屬性,but not exactly the same。至於scripts之外的資源,例如圖片,您實際上可以使用JavaScript來使它們異步加載(例如,通過即時創建圖像元素)。這種方法的缺點是,如果您的異步JavaScript隨後導致加載異步映像,那麼運行的風險很高,爲FOUC