检查脚本被调用的位置/哪一行或文档
Check where/which line or document a script gets called
我有一个JavaScript调试问题。我想知道,如何找出在哪个文件/行中加载和调用新脚本。我的网站有几个通过document.write()
附加的脚本,我想找到一种方法在网站的所有附加脚本中找到函数调用。
我更喜欢Firebug或Chrome Dev工具。
谢谢!
Firebug、Firefox或Chrome DevTools目前都不允许调试通过document.write()
插入的代码。我为 Firefox DevTools 创建了错误1122222,并为 Chrome DevTools 发布了449269,请求能够调试此类脚本。由于即将推出的Firebug版本将基于Firefox DevTools,一旦Firefox错误得到修复,它将提供此功能,因此无需为其创建单独的问题。
在修复上述错误之前,您需要使用另一种方法来注入脚本,以便能够在浏览器中对其进行调试。
方法1:使用eval()
可以使用 eval()
函数动态计算任意代码。请注意,eval()
只计算 JavaScript 代码,它不能被任何 HTML 包围。
例:
eval("console.log('Hi!')");
方法 2:注入<script>
标记
您可以向页面添加<script>
标记,然后向其添加内容。
例:
var script = document.createElement("script");
script.textContent = "console.log('Hi!');";
document.body.appendChild(script);
方法3:使用new Function()
可以通过 Function
构造函数创建新函数。
例:
(new Function("console.log('Hi!');"))();
请注意,出于安全原因,JavaScript 不会使用 innerHTML
或 insertAdjacentHTML()
执行。
相关文章:
- 使用promise和mongoose对文档进行排序
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- Ajax请求文档就绪会导致jquery加载缓慢
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 谷歌文档表面引擎
- 来自文档或下一个静态父级的事件委派
- 如何将childNodes用于XML文档
- 文档就绪提供了错误的选择器高度
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- BrowserId登录请求在文档加载时被调用
- 从Javascript和Php变量创建Html模板文档
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在jquery文档准备好之前加载Modernizr
- 如何判断何时将dom节点添加到文档中
- 无法获取文档.GetElementById工作正常
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 文档的第一行.写的格式不正确,有时无法显示
- 需要我的文档.写出与我的点击按钮放在同一行上
- 检查脚本被调用的位置/哪一行或文档