【发布时间】:2012-08-07 11:41:19
【问题描述】:
我想创建一个包应用程序 chrome 扩展,以允许用户编写和执行 javascript 代码(如 javascript 控制台)。
我想使用eval()函数来执行JS代码。
经典的 javascript eval 函数在从 chrome 扩展程序调用时会引发错误:
未捕获的错误:此上下文不允许从字符串生成代码
要在 chrome 扩展程序中使用 eval,人们需要使用 sandbox,但是当我在清单中编写沙箱时,我会收到以下错误:
尝试安装此扩展程序时出现警告: 指定的包类型(主题、应用等)不允许使用“沙盒”。
更新
根据this issue的说法,打包应用不支持沙箱,所以我有两个问题:
我可以用其他方法代替
eval()吗?是否可以在没有沙箱的情况下使用
eval? (我想可能不是出于安全原因?)
【问题讨论】:
-
我对此了解不多,但使用js.js 可能是一种可能的(尽管性能较差)解决方案。
标签: javascript google-chrome google-chrome-extension eval google-chrome-app