HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了HTML5 iframe沙箱属性问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
你能帮我理解 HTML5 iframe沙箱属性的Chrome实现允许同源和允许顶级导航吗?

一个问题:

例如,当我测试allow-same-origin我做的时候:

<iframe id='frm' src="file.html" sandBox="allow-same-origin"></iframe>    
...    
oIFrame = document.getElementById('frm');
var oDoc = (oIFrame.contentWindow || oIFrame.contentDocument);    
if (oDoc.document)     {
oDoc = oDoc.document;
oDoc.getElementById('foo').innerText = 'Hello man!';   
...

file.html的内容

...
<div id="foo">Hello</div>    
...   
alert(document.cookiE); 
...

只有当我有一个名为allow-scripts的附加属性时才有效,所以我有sandBox =“allow-scripts allow-same-origin”.单独允许 – 同源不起作用并且单独允许 – 脚本工作得很好(脚本运行但不是API SOP相关,它可以虑HTML5标准).

HTML5标准说:

“首先,它可以用来允许来自同一站点内容被沙箱化以禁用脚本,同时仍然允许访问沙盒内容的DOm.

我误解了Chrome或Chrome实现是错误的吗?

第二个问题

关于allow-Top-Navigation的HTML5标准说:

“其次,它可用于嵌入来自第三方网站的内容,沙盒以防止该网站打开弹出窗口等,而不会阻止嵌入式页面与其原始站点进行通信,使用数据库API来存储数据,等等.”

Chrome中的弹出窗口未被阻止.我怎么能阻止它们?我只使用allow-Top-Navigation.

干杯,
大卫

解决方法

对于第一个问题:
看来这意味着父页面仍然可以访问沙盒< iframe>的DOM,而< iframe>中的脚本仍然可以访问.本身被阻止执行;所以它只是父母 – > iframe但不是iframe – >亲

第二个问题:也许我误解了,但正如名称允许 – 顶部导航意味着这将允许而不是阻止框架网站使用top.LOCATIOn.replace()之类的东西.

大佬总结

以上是大佬教程为你收集整理的HTML5 iframe沙箱属性问题全部内容,希望文章能够帮你解决HTML5 iframe沙箱属性问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。