【发布时间】:2014-03-20 14:08:23
【问题描述】:
似乎official examples 使用了一个caja.js 文件,该文件只是包装了一个iframe,以从托管caja 编译服务的服务器加载一个URL,而后者又从某个URL 获取其输入。相关的 API 可用here。
但是,我真正想要的是安全地(并重复地)运行用户提供的一段 Javascript,如下所示:
for (var i = 0; i < N; ++i) {
var x = getUserResult(currentState);
updateState(currentState, x);
}
有没有办法直接做到这一点?代码here 有编译器。为什么我不能只使用它来编译代码然后在模拟上下文中运行它?是因为在浏览器中获得安全上下文的唯一方法是iframe?如果是这样,有什么方法可以使用iframe 直接运行给定的源代码,而无需从外部 URL 获取它?
【问题讨论】:
标签: javascript iframe google-caja