Javascript源丢失

时间:2010-09-10 14:15:26

标签: javascript exception-handling

在java脚本中,我包含了一个像往常一样的源文件

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

问题是,有时文件无法访问,并引发异常。有没有办法包含这样的文件,但如果它不可用捕获异常并导航到新页面?我不希望所有例外都导航到新页面,只是这一个实例。

2 个答案:

答案 0 :(得分: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");

答案 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>