中止javascript加载网络错误

时间:2014-07-23 14:32:16

标签: javascript widget failover

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

我们的某个服务器无法通过某些网络访问,而且有些用户声称从my.domain.com开始连续加载..."会对用户体验造成直接干扰。

发生网络错误时可以中止资源加载吗?

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

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

这里是一段测试代码。这将删除< script> 1s后的元素,如果没有准备好。

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元素,但不会中止资源加载。

有一些有效的方法可以中止此资源加载吗?

1 个答案:

答案 0 :(得分:0)

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

$.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/