有时客户端会请求不存在的资源。我们不知道为什么。是否可以通过 JS 跟踪此类事件(当服务器返回 404 时js
)css
文件png
?
问问题
78 次
3 回答
0
你可以,如果你做一个 Ajax 预取(jQuery 非常方便)。您只需要在每个链接上捕获 click 事件并进行同步 ajax 调用。在 404 的情况下,您可以提供正确的错误消息,如果有效,只需点击链接即可。
如果页面被正确捕获,您的服务器不应该有额外的工作要做。
于 2013-10-01T09:33:12.793 回答
0
你可以对图像使用这样的东西:
function preloadImages(data) {
var newImages = [];
for (var i = 0; i < data.length; i++)
{
try
{
newImages[i] = new Image();
newImages[i].src = data[i];
console.log(newImages[i].src);
newImages[i].onload = function() {
var src = this.src;
console.log("Succes loading image: " + src);
};
newImages[i].onerror = function() {
var src = this.src;
console.log("Error loading image: " + src);
};
}
catch (ex) {
console.log("Image Loading Error: " + ex);
}
}
}
var images = [
'http://cdn.sstatic.net/stackoverflow/img/sprites.png',
'unknown.jpg'
];
preloadImages(images);
不幸的是,您仍然必须知道所有图像的链接,并且您无法使用它来跟踪 js 和 css 文件。
所以你肯定需要ajax...
function urlExists(url) {
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
然后你需要检查每一个可能的 js、css 和 png 链接的函数。这很容易制作(假设您只想跟踪 3 个 html 元素: 和 )。由于您没有尝试在 css 文件中跟踪称为背景图像的图像,因此这要困难得多......
于 2013-10-01T10:20:04.823 回答
0
要跟踪错误页面,您需要将 Google Analytics 跟踪代码 (GATC) 添加到错误页面模板中。如果错误页面上没有跟踪代码,您将无法在这些页面上报告或找到它们相关的损坏链接。请阅读有关 GATC 的更多信息。我认为 JS 无法跟踪此类错误。如果您发现任何错误,请告诉我们。
谢谢和问候, 迈纳克
于 2013-10-01T09:37:57.020 回答