1
在Java腳本,我包括像往常一樣JavaScript源缺少
<script src="http://source.com?file=1" type="text/javascript"></script>
問題源文件時,有時文件無法訪問,它拋出一個異常。有沒有什麼辦法可以包含這樣的文件,但如果它不可用捕獲異常並導航到新頁面?我不希望所有例外導航到新頁面,只是這一個實例。
在Java腳本,我包括像往常一樣JavaScript源缺少
<script src="http://source.com?file=1" type="text/javascript"></script>
問題源文件時,有時文件無法訪問,它拋出一個異常。有沒有什麼辦法可以包含這樣的文件,但如果它不可用捕獲異常並導航到新頁面?我不希望所有例外導航到新頁面,只是這一個實例。
動態腳本標記插入可能是您的一個選擇。
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");
是,插入腳本使用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>
你所說的 「無法訪問」 究竟是什麼意思?有沒有服務器錯誤?什麼時候發生異常? – 2010-09-10 14:22:58
你看到什麼異常?上次我查了一下,如果源服務器不可用,這個失敗就會失敗。 – egrunin 2010-09-10 14:37:04