基本上,我希望有这样的东西(它的ES6):
<iframe id="iframe"></iframe>
<script>
var iframeDoc = document.getElementById('iframe').contentDocument;
iframeDoc.open('text/html', 'replace');
iframeDoc.write(`
<!doctype html>
<html>
<body>
<script>
// do not allow window.parent access!
alert(window.parent.document.cookie);
<\/script>
</body>
</html>
`);
iframeDoc.close();
</script>
警告框显示父窗口的cookie,这是不好的。我希望iframe执行自己的沙盒javascript代码。这在HTML5中甚至可能吗?
我已经尝试了sandbox
属性及其值的每个排列。
有可能将iframe的内容构造为src
属性的数据URI,但这似乎有点hacky。 (或者可能不是?Aren对URI长度有限制吗?)
答案 0 :(得分:-1)
您是否尝试过使用sandbox
?
W3C有很好的文档记录,它会阻止顶级浏览环境。
http://www.w3schools.com/tags/att_iframe_sandbox.asp
另请参阅本教程:
http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/