我正在尝试进行一些 Angular 代码分析。这样我需要获取网页中所有声明的模块的列表。
我找不到如何使用 Angular API ( I believe that's not possible ) 来做到这一点,但我偶然发现了 this 。使用 AST 获取模块看起来很有趣并且很有前途。我可以使用 Acorn或Esprima但我想知道 chrome 是否有一个 API 来获取当前选项卡的 AST。 (可以使用 Firefox)
编辑:
- 我所说的 AST 是指抽象语法树。它是解析器从脚本生成的数据结构,可以轻松解释它。所有浏览器都用它来解释js。更多信息可以在here上找到
这是来自维基百科的示例:
最佳答案
不,Chrome 的 V8 不会公开任何内部结构作为 Extension APIs 的一部分,或者,因此,remote debugger protocol .
您在开发工具中看到的内容是关于公开内容的限制。
您需要自己重新解析它或使用 Chromium 的修改版本来公开您需要的信息。
关于javascript - 如何从扩展程序中获取当前 chrome 选项卡的 AST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29752326/