我正在开发一个允许在小部件中使用用户编写的JavaScript的系统。为了保持安全,我打算将这些小部件在iframe中进行沙箱处理。当然,为了使沙箱有效,iframe必须具有与父文档不同的域。使用iframe进行沙盒?
我真的很喜欢能够与类似下面的代码动态生成的iframe:
template = '<html><body><script>/* user code */</script></body></html>'
src = 'javascript: document.write("' + template + '")'
widget = $('<iframe>').attr('src', src)
$('#container').append(widget)
...,然后让所产生的IFRAME被视为从父窗口跨域。这是否可能,如果是的话,它将如何完成?
你真的不应该要求人们upvote/accept。这是这个网站的基础,要求它会让很多人完全相反!尽管如此,+1为伟大的答案:)。 – gnur 2011-06-16 07:23:52
@gnur对不起,感谢您的+1。我注意到@ jpadvo的最后一个问题是在十月份,他从未对任何答案进行评论或评分,所以这只是一个友好的捅捅。 – 2011-06-16 12:01:27
我现在只有11个声望,所以我还没有放弃。当我可以的时候,我一定会给你一个。我会测试它,如果它有效,我也会接受它。 :) – jpadvo 2011-06-16 17:23:40