0

有时客户端会请求不存在的资源。我们不知道为什么。是否可以通过 JS 跟踪此类事件(当服务器返回 404 时jscss文件png

4

3 回答 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 回答