基本上在我的错误日志中我看到很多:
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
Run Code Online (Sandbox Code Playgroud)
(和其他一些用户代理)
我当然检查HTML或DOM是否有/undefined类似的链接,而且什么都没有.我已经使用开发人员工具检查了网络选项卡,在那些页面上没有任何请求/undefined(使用我的chrome).
然后我设置了一个javascript记录器来保存出现的任何错误.并且在日志中没有什么可以抛出undefined或类似的东西......
这真让我抓狂.当然,如果我使用我的chrome继续这个页面,javascript不会打印任何错误
注意:我在这里读过所有内容
注意2:除了javascript错误记录器,我添加了一个eventlistener(如链接中所述)
$("body").on("click", "a[href$='undefined']", function() {
window.onerror('Bad link: ' + $(this).html()); //alert home base
});
Run Code Online (Sandbox Code Playgroud)
这永远不会被触发.(我用手动/未定义链接进行了测试,记录器工作正常)
我也在google群组中找到了这个主题.网站管理员遇到了同样的问题,但没有人设法确定原因.
也许它是chrome或任何其他导致此请求的浏览器的扩展.
据推测,您正在使用window.onerror该函数并记录错误.
如果javascript错误发生在不同的域上(例如来自某些社交按钮,iframe,跨域javascript或可能是浏览器扩展),window.onerror实际上可能会在错误报告中出现敏感信息.因此,出于安全原因,跨域错误仍将调用该函数,但所有参数(包括url)都将是未定义的,并且该消息将只是一个通用的"脚本错误".我猜你有跨域错误,并且它们被记录为未定义.
再看看您链接到的 Google 网上论坛帖子。最近,一位成员设法找到一种方法来禁用似乎导致错误的插件/恶意软件:
要禁用恶意软件并停止“undefiend”请求,请将其应用于站点上带有搜索字段的每个页面:
Run Code Online (Sandbox Code Playgroud)<script type="text/javascript"> window.suggestmeyes_loaded = true; </script>