2

假设我在一个页面中有几个 JavaScript 包含:

<script type="text/javascript" src="/js/script0.js"></script>
<script type="text/javascript" src="/js/script1.js"></script>
<script type="text/javascript" src="/js/script2.js"></script>
<script type="text/javascript" src="/js/script3.js"></script>
<script type="text/javascript" src="/js/script4.js"></script>

有没有一种方法可以告诉我是否没有找到其中的任何一个(404),而无需手动检查每个?我想我正在寻找一个在线工具或类似的东西。有任何想法吗?

4

6 回答 6

9

如果您获得Firebug firefox 插件并启用控制台,它应该会告诉您何时在控制台中检索资源时出错。

于 2008-09-11T18:12:49.233 回答
2

我使用的其他浏览器不足以知道在哪里可以找到类似的功能,但是 Safari 有一个活动窗口,可以显示给定网页的所有包含文件,以及哪些文件无法检索。

于 2008-09-11T18:13:12.837 回答
2

如果您想动态监控而不实际检查它是否存在,那么我建议将动态变量放在文件中。然后做这样的事情:

var script0Exists = true; // inside script0.js
var script1Exists = true; // inside script1.js

然后在您的其他文件中,只需使用:

if ( script0Exists ) {
    // not a 404 - it exists
}
于 2008-09-11T18:35:14.313 回答
1

记录您的 404。

于 2008-09-11T18:17:23.513 回答
0

如果您不想在客户端手动检查它,则需要在服务器端执行此操作。您需要确保您使用的任何网络服务器都配置为记录 404,然后检查该日志以查看哪些 HTTP 请求失败。

于 2008-09-11T18:48:03.953 回答
0

如果您的网络主机总是返回 HTTP 结果“200 OK”,无论文件是否存在(后者应该给出“404 Not Found”),浏览器无法判断它是否接收到脚本。

您可以尝试通过 XMLHttpRequest 检索文件,检查数据,如果它们看起来像 JS,则 eval() 或者创建一个脚本标记,指向您下载的完全相同的 URL(如果脚本是可缓存的,它不会再次传输,因为浏览器已经拥有它)。

于 2009-10-07T12:30:50.463 回答