基本上在我的错误日志中我看到了很多:
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记录器来保存出现的任何错误。在日志中,没有任何东西抛出未定义或类似的东西。。。
这简直把我逼疯了。当然,如果我使用chrome访问tihs页面,javascript不会打印任何错误
注意:我已经阅读了这里的所有内容
编辑
注意2:在javascript错误记录器旁边,我添加了一个事件侦听器(如链接的答案中所述)
$("body").on("click", "a[href$='undefined']", function() {
window.onerror('Bad link: ' + $(this).html()); //alert home base
});
这永远不会被触发。(我已经用手动/未定义的链接测试了它,记录器工作)
我还在谷歌群组上找到了这个话题。那里的站长也遇到了同样的问题,但没有人能确定原因。
可能是chrome或任何其他浏览器上的扩展导致了此请求。
假设您正在使用window.onerror
并在该函数中记录错误。
如果javascript错误发生在不同的域上(例如,来自一些社交按钮、iframe、跨域javascript,或者可能是浏览器扩展),window.onerror实际上可能会泄露错误报告中的敏感信息。因此,出于安全原因,跨域错误仍然会调用该函数,但所有参数(包括url)都将是未定义的,消息将只是一个通用的"脚本错误"。我猜你有跨域错误,它们被记录为未定义。
再看看你链接到的Google Group线程。就在最近,其中一名成员设法禁用了似乎导致错误的插件/恶意软件:
要禁用恶意软件并停止"取消好友"请求,请将其应用于在您的网站上有搜索字段的每个页面:
<script type="text/javascript"> window.suggestmeyes_loaded = true; </script>
听起来这很可能是一个使用"/" + variable
和variable
的ajax请求,而不是user
。您是否使用库进行AJAX调用?也许你也可以尝试在那里捕获无效的url。