Tom*_*Tom 8 html javascript iframe firefox html5
使用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>
Run Code Online (Sandbox Code Playgroud)
它在Chrome中运行良好,但在Firefox中,沙盒iframe仍然可以重定向.
这是一个已知的错误,但我如何修补它,以便所有Firefox用户都不会被重定向?
例:
有额外限制:
<iframe src="demo_iframe_sandbox.htm" sandbox=""></iframe>
Run Code Online (Sandbox Code Playgroud)
Internet Explorer 10,Firefox,Chrome和Safari支持sandbox属性.
注意:Internet Explorer 9及更早版本或Opera中不支持沙箱属性.
定义和用法
如果指定为空字符串(sandbox =""),则沙箱属性会为内联框架中的内容启用一组额外限制.
sandbox属性的值可以是空字符串(应用所有限制),也可以是以空格分隔的预定义值列表,这些值将删除特定限制.
HTML 4.01和HTML5之间的差异
sandbox属性是HTML5中的新增属性.
句法
<iframe sandbox="value">
Run Code Online (Sandbox Code Playgroud)
属性值
javascript:是一种奇怪的URI协议.它适用于某些上下文,但不是全部 - 例如,窗口的位置不能设置为这样的URI.(虽然您可以将一个javascript:URI指定给window.location作为运行脚本的一种非常迂回的方式,但窗口的位置不会保持设置为该值.)
要将内容写入IFRAME,请获取对该框架文档的引用并写入该文档.这样做将要求您设置allow-same-origin沙箱标志.
<iframe id="myframe" sandbox="allow-scripts allow-same-origin" src="about:blank"></iframe>
Run Code Online (Sandbox Code Playgroud)
<script>
var frame = document.getElementById("myframe");
var fdoc = frame.contentDocument;
fdoc.write("Hello world"); // or whatever
</script>
Run Code Online (Sandbox Code Playgroud)
实例: http ://jsfiddle.net/wUvrF/1/
归档时间: |
|
查看次数: |
1528 次 |
最近记录: |