任何人都有一个很好的方法来加载JS文件但是如果花费太长时间就取消加载它?
我正在考虑这样的事情,假设:
<script type="text/javascript" cancel_after="2000" src="myfile.js"></script>
脚本是需要加载到头部的代码,因为它替换了页面上的元素,因此浏览器在加载时需要阻塞。但是如果服务器响应时间过长,我希望能够在不加载脚本的情况下继续浏览器。
答案 0 :(得分:3)
使用预加载器。我个人更喜欢yepnope,您可以使用yepnope.errorTimeout = 2000
检查链接页面以获得相当完整的yepnope文档。
答案 1 :(得分:1)
您可以使用ajax调用加载JavaScript,然后使用eval在闲暇时运行它。在jQuery中它看起来像这样。
$.ajax('test.js', {timeout: 100 /* milliseconds */, success: function(result) {
eval(result);
});
它很漂亮,并且包含的JavaScript中的代码可能需要以不同的方式编码,但这可能会为您完成。
答案 2 :(得分:1)
您可以将<script></script>
放在<body></body>
之后,或通过JS(document.onload
)加载
如果您确实要取消加载,请考虑使用XMLHTTPRequest
和abort()
函数