<file:>的权限被拒绝在Firefox </file:>中获取属性XPCComponents.utils

时间:2012-04-20 18:30:47

标签: javascript firefox

我想在Firefox的JavaScript中使用Reflect.parse

MDN表示要通过

将其导入全局对象
Components.utils.import("resource://gre/modules/reflect.jsm")

但是,这会导致以下错误消息:

Error: Permission denied for <file://> to get property XPCComponents.utils

我在Firefox 11和Aurora中试过这个。

如何访问Reflect.parse

修改

错误消息是由以下片段引起的:

Component.utils

1 个答案:

答案 0 :(得分:1)

这个问题没有真正的解决方案。至少可以说,维基中Reflect.parse上的documentation具有误导性。

如果您想在SpiderMonkey / Firefox中使用“纯”JavaScript解决方案,请不要依赖Reflect.parse

我看到许多项目使用Narcissus中的解析器,我应该也这样做。

编辑: Esprima project是Mozilla Parser API的绝佳实现。用Reflect.parse替换esprima.parse后,我的150多个测试用例仍然是绿色的,除了5个左右处理非标准的SpiderMonkey扩展,如let表达式(我觉得非常令人印象深刻)。