Javascript Source Missing - PullRequest
       3

Javascript Source Missing

1 голос
/ 10 сентября 2010

В сценарии Java я включаю исходный файл, как обычно

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

Проблема в том, что иногда файл недоступен и выдает исключение. Есть ли способ включить файл, подобный этому, но если он недоступен, перехватить исключение и перейти на новую страницу? Я не хочу, чтобы все исключения переходили на новую страницу, только этот экземпляр.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2010

Да, вставьте скрипт, используя 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>
0 голосов
/ 10 сентября 2010

Динамическая вставка тега сценария может быть вариантом для вас.

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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...