2010-09-10 101 views
1

在Java腳本,我包括像往常一樣JavaScript源缺少

<script src="http://source.com?file=1" type="text/javascript"></script> 

問題源文件時,有時文件無法訪問,它拋出一個異常。有沒有什麼辦法可以包含這樣的文件,但如果它不可用捕獲異常並導航到新頁面?我不希望所有例外導航到新頁面,只是這一個實例。

+1

你所說的 「無法訪問」 究竟是什麼意思?有沒有服務器錯誤?什麼時候發生異常? – 2010-09-10 14:22:58

+0

你看到什麼異常?上次我查了一下,如果源服務器不可用,這個失敗就會失敗。 – egrunin 2010-09-10 14:37:04

回答

0

動態腳本標記插入可能是您的一個選擇。

var insertScript = function(name){ 
    var scr = document.createElement('script'); 

    scr.src = name; 
    scr.type = 'text/javascript';  

    scr.onload = scr.onreadystatechange = function(){ 
     if(scr.readyState){ 
      if(scr.readyState === 'complete' || scr.readyState === 'loaded'){ 
       scr.onreadystatechange = null; 
       // script was loaded successfully                  
      } 
     } 
     else{        
      // script was loaded successfully 
     } 
    }; 

    scr.onerror = function(){ 
     window.location.href = "http://www.foobar.com"; 
    }; 

    head.insertBefore(scr, head.firstChild); 
}; 

用法:

insertScript("http://source.com?file=1"); 
0

是,插入腳本使用javascript:

<script type="text/javascript"> 
try { 
    var newscript = document.createElement('script') ; 
    newscript.type='text/javascript' ; 
    newscript.src='http://source.com?file=1' ; 
    document.getElementsByTagName("head")[0].appendChild(newscript) ; 
} catch(e) { 
    // Timeout/error handling here. 
} 
</script>