2016-10-28 32 views
0

如何取消挂起script标签请求?如何取消待处理的脚本标记请求?

我有标记脚本,谁从另一个服务器加载内容。由于某些原因服务器不响应,所以我想通过超时2秒取消这个pending脚本。 例如img标签我可以将src属性设置为空值,并且请求将被取消。 对于脚本标记,这不起作用。 由于CORS限制,我无法通过ajax加载脚本内容。

+0

我不知道你能控制这个通过一个脚本标签。解决方案是通过代理来加载资源,例如, [PHP cURL](http://php.net/manual/en/curl.examples-basic.php),它允许你设置超时最大值。 – Utkanos

+0

Duplicate:http://stackoverflow.com/questions/2100784/is-it-possible-to-stop-a-dynamically-inserted-script-tag,http://stackoverflow.com/questions/1247611/javascript-cancelling -a动态脚本标签 – eithed

回答

0

脚本标记无法取消,因为它们默认是同步加载和执行的。你可以做的是使用一个脚本加载器来加载脚本。

相反,你可以做这样的事情(不取消的剧本虽然,只是可以让页面不等待它):

<script> 
    function lazyLoad(s) { 
     var d = window.document.body; 
     var e = d.createElement("script"); 

     e.async = true; 
     e.src = s; 
     b.appendChild(e); 
    } 

    window.onload = lazyLoad('url to script'); 
</script> 
相关问题