我怀疑有些用户有工具栏,插件,恶意软件或其他东西,这些浏览器在访问我们的网站时在浏览器中运行了一些javascript,这个javascript正在搞乱我们页面上的功能。
我的javascript可以查看从其他文件加载了哪些javascripts,即http://some.site/script.js'> ?
答案 0 :(得分:0)
在浏览器上打开开发人员工具(通常使用F12)。然后检查网络部分/选项卡,它将列出加载到当前文档中的所有资源。
答案 1 :(得分:0)
如果要查找由页面加载的脚本,并且无法访问开发工具,则可以在DOM中搜索脚本标记。这只会找到由DOM加载的脚本(非常典型)。但它不会找到通过xhr请求加载的脚本然后进行评估,也不会找到由浏览器扩展加载的脚本。
但是,这可能对你有所帮助。你可以这样做:
console.log(window.document.getElementsByTagName("script"))
这会将所有加载的脚本记录到控制台。或者,您可以在客户端中对此进行分析,如果发现可疑内容,则会弹出一条明亮的大警告消息。
要捕获其他类型的请求,您可以在xhr send方法中添加包装器,如下所示:
XMLHttpRequest.prototype.send = function () {
// do some checking of the request
// do the actual request
this.send();
}
我没试过这个,所以可能会有一些警告,比如我不确定所有浏览器引擎是否允许你重新定义内置类型的方法。但值得尝试。
答案 2 :(得分:0)
你的问题很有意思,但动机错了,IMO。是什么让你相信“某些东西”搞砸了你的JavaScript?你能重现这个问题吗?即使某种书签正在破坏全局JavaScript代码,您(作为开发人员)也能够检查正确的功能和填充(如果需要)。
如果你仔细观察你的代码以及为什么它没有达到预期的效果,我希望你会发现恶意软件/工具栏/插件不应该受到责备。
隔离失败的代码并重现行为。