有时客户端会请求不存在的资源。我们不知道为什么。是否可以通过JS跟踪此类事件(当服务器返回404 js
,css
,png
)文件时?
答案 0 :(得分:0)
如果你做一个Ajax预取(jQuery非常方便),你可以。您只需要在每个链接上捕获click事件并执行同步ajax调用。如果是404,您可以提供正确的错误消息,如果有效,请点击链接。
如果页面被正确捕获,您的服务器不应该有额外的工作要做。
答案 1 :(得分:0)
要跟踪错误页面,您需要将Google Analytics跟踪代码(GATC)添加到错误页面模板中。如果错误页面上没有跟踪代码,您将无法在这些页面上进行报告或查找相关的损坏链接。请阅读更多有关GATC的信息。我认为JS无法跟踪此类错误。如果您发现任何错误,请告诉我们。
谢谢&问候, Mainak
答案 2 :(得分: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文件中跟踪被称为背景图像的图像,那就更难了......