0

我正在嘗試做一些角碼分析。這樣我需要獲取網頁中所有已聲明模塊的列表。如何從擴展中獲取當前chrome選項卡的AST?

我找不到如何使用角度API(I believe that's not possible),但我偶然發現this。使用AST來獲取模塊看起來很有趣並且很有前景。我可以使用AcornEsprima,但我想知道chrome是否有API來獲取當前選項卡的AST。 (可能與Firefox)

EDITS:

  • 通過AST,我的意思是抽象語法樹。它是一個解析器從腳本生成的數據結構,可以輕鬆解釋它。所有瀏覽器都使用它來解釋js。更多信息可在here

在這裏找到是來自維基百科的例子:

AST Wikipedia example

+0

如果你定義了「AST」,這將有所幫助。我想我知道你的意思,但給一個解釋/簡短的例子。 – Xan

+0

感謝您的建議,我編輯後果 –

+0

因此,您想知道是否可以從V8中獲取AST的擴展名,而不是使用單獨的解析器構建自己的AST,是正確的嗎? – Xan

回答

0

不,Chrome的V8不公開任何內部爲Extension APIs一部分,或者,因爲這個原因,remote debugger protocol

您在Dev Tools中看到的內容是關於暴露內容的限制。

您需要自己重新解析它,或者使用修改後的Chromium版本來公開您需要的信息。

+0

非常感謝你。 –

相關問題