使用html5沙箱iframe时,我希望iframe无法更改其位置:
<iframe sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts" class="iframe visible" src="thesource.html" width="100%" scrolling="auto" frameborder="0"></iframe>
它适用于Chrome,但在Firefox中,沙盒iframe仍然可以重定向。
它是known bug,但我如何修补它以便不会重定向所有Firefox用户?
答案 0 :(得分:5)
示例:
有额外限制:
<iframe src="demo_iframe_sandbox.htm" sandbox=""></iframe>
Internet Explorer 10,Firefox,Chrome和Safari支持沙箱属性。
注意:Internet Explorer 9及更早版本或Opera中不支持沙箱属性。
定义和用法
如果指定为空字符串(sandbox =“”),则沙箱属性会为内联框架中的内容启用一组额外限制。
沙箱属性的值可以是空字符串(应用所有限制),也可以是以空格分隔的预定义值列表,这些值将删除特定限制。
HTML 4.01和HTML5之间的差异
沙盒属性是HTML5中的新功能。
语法
<iframe sandbox="value">
属性值
javascript:是一种奇怪的URI协议。它适用于某些上下文,但不是全部 - 例如,窗口的位置不能设置为这样的URI。 (虽然您可以将一个javascript:URI指定给window.location,作为运行脚本的一种非常迂回的方式,但窗口的位置不会保持设置为该值。)
要将内容写入IFRAME,请获取对该框架文档的引用并写入该文档。这样做将要求您设置allow-same-origin沙箱标志。
<iframe id="myframe" sandbox="allow-scripts allow-same-origin" src="about:blank"></iframe>
<script>
var frame = document.getElementById("myframe");
var fdoc = frame.contentDocument;
fdoc.write("Hello world"); // or whatever
</script>