2016-01-16 25 views
0

我想加載腳本標籤和鏈接標籤。我可以按如下腳本/鏈接標籤與AJAX的加載

<script src="sample.js" type="text/javascript"></script> 
<link type="text/css" href="sample.css" rel="stylesheet"></link> 

(或)做

$.ajax({ 
    url: 'sample.js', 
    dataType: 'script', 
    success: function(data) {}, 
    error: function(data) {} 
}); 

但我想知道哪一個是最好的/安全的方式[一般。

我認爲我們可以通過ajax加載輕鬆處理錯誤,否則我們必須檢查onLoad函數以查找腳本是否已成功加載,並查找鏈接是否已成功加載,因此我們需要循環執行document.styleSheets

有什麼建議嗎?

我的主要問題是要找到腳本&鏈接是否已成功加載和安全的方式,這是爲了測試,所以我不喜歡太多的代碼來做到這一點。

+0

您想完成什麼?請給出您嘗試解決的更高級別的問題 – charlietfl

回答

0

至於JavaScript文件:
JavaScript有阻止性質。如果你要在頁面上逐個加載多個外部js文件,請考慮每個文件都將被加載和執行。如果在執行某些JavaScript文件時發生某些錯誤,您可以在開發人員控制檯中觀察它。不幸的是,JavaScript 下載仍然阻止其他資源的下載。

結論:發生之前<script>標籤<link>標籤。我們建議所有<script>標籤靠近放置到 <body>標籤的底部儘可能



至於css文件: 要檢查,如果某些樣式表加載成功是一個小更多的事情。下面是檢查現有的(非充電狀態)css文件使用jQuery:

if (!$("link[href='sample.css']").length){ 
    console.log('error while downloading sample.css'); 
    $('<link href="sample.css" rel="stylesheet">').appendTo("head"); 
} 

要檢查是否某些css文件被完全加載,你可能會使用純JavaScript currentStylewindow.getComputedStyle方法和尋找與已知的類中的一些元素或標識符(它確實存在於您的css文件中)