在网络错误时中止javascript加载

Abort javascript loading on network error

本文关键字:javascript 加载 网络 错误      更新时间:2023-09-26

我们使用async iframes下的小部件在合作伙伴网站上运行我们的应用程序。

我们的一个服务器无法从某些网络访问,一些用户声称持续"Loading from our.domain.com…",直接干扰了用户体验。

当网络发生错误时,是否可以中止资源加载?

我们的环境不能依赖于任何外部库(如jquery, zepto,…)。我们的代码是用原始javascript编写的。

我们尝试在超时后删除javascript元素,就像在SO上的一些资源中描述的那样,但是没有一个工作。

下面是一段测试代码。这将删除

setTimeout(
    function(){
        //Check if it is ready using a control var
        if (! contextControl.isReady){
            // Not Ready
            var trgt = document.getElementById("element-id");
            //force element drop
            trgt.parentNode.removeChild(trgt);
        }
    }, 1000
);

它有效地删除javascript元素,但不会中止资源加载。

是否有一些有效的方法来中止这个资源加载?

我会尝试使用异步加载错误处理:

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