加载 Javascript 文件,但如果时间太长就取消?
有人有一个加载 JS 文件的好方法,但如果时间太长就取消加载吗?
假设我在想这样的事情:
<script type="text/javascript" cancel_after="2000" src="myfile.js"></script>
脚本是需要加载到头部的代码,因为它替换了页面上的元素,因此浏览器在加载它时需要阻止。但如果服务器响应时间太长,我希望能够让浏览器继续运行而不加载脚本。
Anyone have a good way to load a JS file but cancel loading it if it takes too long?
I'm thinking something like this, hypothetically:
<script type="text/javascript" cancel_after="2000" src="myfile.js"></script>
The script is code that needs to get loaded in the head, because it replaces elements on the page, and so the browser needs to block while loading it. But in case the server takes too long to respond, I'd like to be able to have the browser proceed without loading the script.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用预加载器。我个人更喜欢 yepnope,您可以使用
yepnope.errorTimeout = 2000
轻松设置超时检查yepnope 相当完整的文档的链接页面。
Use a preloader. I personally prefer yepnope, where you can easily set a timeout using
yepnope.errorTimeout = 2000
Check the linked page for a rather complete documentation of yepnope.
您可以使用 ajax 调用加载 JavaScript,然后在闲暇时使用 eval 运行它。在 jQuery 中,它看起来像这样。
它并不漂亮,并且所包含的 JavaScript 中的代码可能需要以不同的方式编码,但这可能适合您。
You can load the JavaScript using an ajax call then use eval to run it at your leisure. In jQuery it would look something like this.
It aint pretty, and the code in the included JavaScript may need to be coded differently, but this might do it for you.
您可以将
放在
后面,或者通过 JS 加载(
document.onload)
如果您确实想取消加载,请考虑使用
XMLHTTPRequest
和abort()
函数You can put
<script></script>
after<body></body>
or load it via JS (document.onload
)If you really want to cancel loading, then think about using
XMLHTTPRequest
andabort()
function