基本上在我的错误日志中我看到很多:
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 logger以保存出现的任何错误。在日志中没有任何东西可以抛出未定义或类似的东西......
这让我发疯了。当然,如果我使用我的Chrome进入页面,javascript不会打印任何错误
注意:我已阅读所有内容here
注意事项2:除了javascript错误记录器之外,我添加了一个eventlistener(如链接答案中所述)
$("body").on("click", "a[href$='undefined']", function() {
window.onerror('Bad link: ' + $(this).html()); //alert home base
});
这永远不会被触发。 (我已经使用手动/未定义的链接测试了它并且记录器工作)
我还在Google群组中找到了this topic。网站管理员遇到了同样的问题,但没有人能够确定原因。
也许它在Chrome或导致此请求的任何其他浏览器上有一些扩展。
答案 0 :(得分:5)
据推测,您正在使用window.onerror
并在该函数中记录错误。
如果javascript错误发生在其他域上(例如来自某些社交按钮,iframe,跨域javascript或可能是浏览器扩展名),window.onerror实际上可能会在错误报告中出现敏感信息。因此,出于安全原因,跨域错误仍将调用该函数,但所有参数(包括url)都将是未定义的,并且该消息将只是一个通用的“脚本错误”。我猜你有跨域错误,并且它们被记录为未定义。
答案 1 :(得分:3)
再看一下您链接到的Google网上论坛主题。最近刚出现导致错误的成员之一managed to figure a way to disable the plugin/malware:
要停用恶意软件并停止“未捕获”请求,请将其应用于 每个网页上都有一个搜索字段:
<script type="text/javascript"> window.suggestmeyes_loaded = true; </script>
答案 2 :(得分:0)
听起来这很可能是使用"/" + variable
和variable
的ajax请求恰好是未定义而不是user
。您是否正在使用库来进行AJAX调用?也许你可以尝试在那里捕获无效的网址。