我想在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
答案 0 :(得分:1)
这个问题没有真正的解决方案。至少可以说,维基中Reflect.parse
上的documentation具有误导性。
如果您想在SpiderMonkey / Firefox中使用“纯”JavaScript解决方案,请不要依赖Reflect.parse
。
我看到许多项目使用Narcissus中的解析器,我应该也这样做。
编辑: Esprima project是Mozilla Parser API的绝佳实现。用Reflect.parse
替换esprima.parse
后,我的150多个测试用例仍然是绿色的,除了5个左右处理非标准的SpiderMonkey扩展,如let
表达式(我觉得非常令人印象深刻)。