1

我在我的应用程序中嵌入了 Mozilla 的 SpiderMonkey,并希望使用它在 v1.8.6 中引入的新 调试器 API 。从文档中,我了解到此 API 不适用于“内容代码”,而只能用于受信任的所谓“chrome 代码”。现在,我浏览了许多资源,试图了解如何执行“chrome 代码”,但没有取得多大成功。我的猜测是应该使用 JS_EvaluateScriptForPrincipals 执行受信任的脚本,但是我无法理解如何使用 JSPrincipals ......

任何帮助表示赞赏,谢谢!

4

1 回答 1

0

对于 SpiderMonkey 引擎嵌入,没有这样的概念。“chrome”和“content”的概念只在浏览器中是合法的,其中“chrome”是有特权的(如 Firefox UI / 插件),而“content”是不受信任的(如网页)。

当您嵌入 JS 引擎时,您只需访问 JavaScript 这种语言,它具有典型的内置类和语言特性。当您构建外壳并运行它时,您只需键入“调试器”,您就会看到调试器对象存在。每当您在 SpiderMonkey 引擎中创建新的全局时,都会发生这种情况。

$ ./js
js> Debugger
function Debugger() {[native code]}
于 2012-02-27T20:40:17.040 回答