在SpiderMonkey中运行'chrome'代码

时间:2012-02-27 11:31:37

标签: javascript spidermonkey

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

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

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

当你嵌入JS引擎时,你可以访问JavaScript,这是一种语言,具有典型的内置类和语言功能。构建shell并运行它时,只需键入“Debugger”,就会看到调试器对象存在。只要在SpiderMonkey引擎中创建新的全局,就会发生这种情况。

$ ./js
js> Debugger
function Debugger() {[native code]}