0

我的 Web 应用程序加载了一个外部 JS 文件,该文件有时会挂起 30 多秒,从而使我的页面依次挂起。

我知道我可以把它从我的服务器中取出head,或者从我自己的服务器上加载文件,或者切换服务。但是,我想知道如果外部文件在一段时间内没有响应,是否有办法停止加载它们。

4

2 回答 2

1

如果文件之间存在依赖关系,异步加载 JavaScript 文件可能会很棘手。我更喜欢将<script>-tag 放在<body>. 这样,您可以将依赖项放在它下面,并在依赖项中检查仅在慢速 JS 文件中可用的变量,然后再执行依赖于慢速 JS 文件的函数。您还写道,您可以将 JS 放在自己的服务器上,所以我猜它是在外部域上。如果是这种情况,您无论如何都不能使用普通的 XMLHttpRequest/AJAX 调用来异步加载 JS 文件。

如果您绝对想异步加载文件并准备好处理这可能给您带来的问题,那么请查看http://headjs.com/

于 2012-09-23T07:30:50.983 回答
0

我认为不可能以常规方式链接外部文件并为其加载指定自定义超时。

您可以尝试向文件地址发出 ajax 请求,同时将超时设置为 30 秒。如果请求仍在运行,您可以取消它。否则,在 html 页面中,您可以创建带有加载内容的脚本标记。

于 2012-09-22T18:43:38.477 回答