2012-04-19 2 views
2

$ .getScript()에서 첫 번째 js 스크립트가로드되지 않은 경우 (어떤 이유로 든) 두 번째 js를 실행할 수있는 조건을 만들 수 있습니까? 백업처럼?

jQuery 1.2 및/또는 1.4에서이 작업을 수행하는 방법은 무엇입니까?

고맙습니다.

답변

3

jQuery 1.5 이상을 사용하는 경우 $ .getScript()는 Promise를 반환하므로 성공과 실패에 모두 함수를 첨부 할 수 있습니다.

$.getScript("ajax/test.js") 
.done(function(script, textStatus) { 
    console.log(textStatus); 
}) 
.fail(function(jqxhr, settings, exception) { 
    $("div.log").text("Triggered ajaxError handler."); 
}); 

당신이 .fail 함수 내 다른 $ .getScript()를 할 수없는 이유를 이유()를 호출가 없습니다 : 그들은과 같이 실패 부착 자신의 문서의 예를 보여줍니다.

1

문서를 읽었습니까? 다만 의존하지 않는, pratically

$("div.log").ajaxError(function(e, jqxhr, settings, exception) { 
    if (settings.dataType=='script') { 
    $(this).text("Triggered ajaxError handler."); 
    } 
}); 

이상 : 그것은 당신이 세계 아약스 오류를 사용하여 이전보다) (

$.getScript("ajax/test.js") 
.done(function(script, textStatus) { 
    console.log(textStatus); 
}) 
.fail(function(jqxhr, settings, exception) { 
    $("div.log").text("Triggered ajaxError handler."); 
}); 

을 .fail 사용할 수 있습니다, JQuery와 1.5로, 아주 분명하다 .ajax fn을 ​​사용하십시오.

$.ajax({ 
    url: url, 
    dataType: "script", 
    success: success, 
    error:function(){ 
    //load the second script here 
    } 
});