1

有没有办法在执行.ajax请求和读取的情况下使用 jQuery 读取 HTTP 标头xhr.status

与流行的 Google Analytics 插件 ( gaAddons ) 类似,我希望在我的网站上跟踪 404。不幸的是,我继承了旧系统,并且 404 没有唯一的 URL。

是否可以使用 jQuery 读取 HTTP 标头?

4

4 回答 4

0

You might be able to do something like this in jQuery:

if ( $('meta[content="Not Found - The URL you requested could not be found."]').length>0 ) {
    /* do something about it */
}

This assumes that the delivery engine has put the following meta tag in the header of the page. Tumblr does this, for example. Your own system may put a different meta tag or you could design your system to deliver some such meta tag.

<meta name="description" content="Not Found - The URL you requested could not be found." />

Of course, all this is really doing is checking the meta header which offers a page summary. But you could take advantage of the mechanism in your own environment.

于 2013-05-29T04:19:12.140 回答
0

在进行站点分析时,我必须单独记录错误。

与@Octopus 的建议类似,我向 404 和 500 页添加了元标记。

<meta name="error" content="404">

然后在客户端上检查此元标记是否存在,如下所示:

<script>
  meta = document.getElementsByTagName('meta');

  for (i=0; i< meta.length; i++) {

    if(meta[i].name == 'error'){
       alert('This page returned a ' + meta[i].content + ' error');   
    }

  }

</script>

不幸的是,我不得不使用 vanilla JS 来实现这一点。

于 2014-07-16T15:29:41.780 回答
0

我认为这是不可能的——它们没有暴露于 JavaScript。AJAX 请求是明显的解决方法——不知道你为什么反对这个。

此问题中的更多信息:Accessing the web page's HTTP Headers in JavaScript

于 2012-08-03T10:16:04.727 回答
0

如果您可以访问 404 错误页面,则可以将 javascript 注入 404 页面,该页面可以通过 ajax 将页面详细信息(如 url、时间等)发送到服务器 [但如果它们在服务器日志中则意义不大]。但是,这个脚本可以被利用。

于 2012-08-03T10:41:54.857 回答