6

基本上在我的错误日志中,我看到很多:

mysite.com/undefined (with referer coming from random pages of the website)

User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1

(和其他一些用户代理)

我当然已经检查了 HTML 或 DOM 中的链接/undefined或类似的东西,但什么都没有。我已经使用开发人员工具检查了网络选项卡,并且在这些页面上没有任何请求/undefined(使用我的 chrome)。

然后我设置了一个javascript 记录器来保存出现的任何错误。而且在日志中没有任何东西会抛出 undefined 或类似的东西......

这真让我抓狂。当然,如果我用我的 chrome 进入 tihs 页面,javascript 不会打印任何错误

注意:我已经阅读了这里的所有内容

编辑

注意2:除了那个javascript错误记录器之外,我还添加了一个事件监听器(如链接的答案中所述)

$("body").on("click", "a[href$='undefined']", function() {
    window.onerror('Bad link: ' + $(this).html()); //alert home base
});

这永远不会被触发。(我已经使用手动/未定义的链接对其进行了测试,并且记录器可以正常工作)

我也在谷歌群组上找到了这个主题。那里的网站管理员遇到了同样的问题,但没有人设法确定原因。

也许是 chrome 或任何其他浏览器上的一些扩展导致了这个请求。

4

3 回答 3

5

大概您正在使用window.onerror并在该函数中记录错误。

如果 javascript 错误发生在不同的域(例如,来自某些社交按钮、iframe、跨域 javascript 或可能的浏览器扩展),window.onerror 实际上可能会泄露错误报告中的敏感信息。所以出于安全原因,跨域错误仍然会调用该函数,但所有参数(包括 url)将是未定义的,并且消息将只是一个通用的“脚本错误”。我猜你有跨域错误,它们被记录为未定义。

于 2012-09-22T12:43:39.577 回答
3

再看看您链接到的那个 Google Group 线程。就在最近,其中一名成员设法找到一种方法来禁用似乎导致错误的插件/恶意软件:

要禁用恶意软件并停止“不受约束”的请求,请将其应用于您网站上具有搜索字段的每个页面:

<script type="text/javascript">
     window.suggestmeyes_loaded = true;
</script>
于 2013-01-11T17:27:20.390 回答
0

听起来这很可能是一个 ajax 请求,"/" + variable并且variable恰好是 undefined 而不是 say user。您是否使用库进行 AJAX 调用?也许您也可以尝试在其中捕获无效的 url。

于 2012-09-20T18:01:07.940 回答