1. 什么问题?
如果未设置标志,则在 HTML5 规范中为iFrame元素添加的sandbox
属性会在现代浏览器(使用当前版本的 Chrome 和 Safari 测试)中呈现任何帧中断/破坏/杀死方法 null ,即使标志和存在。allow-top-navigation
allow-forms
allow-scripts
2. 我尝试了什么?
任何 JavaScript 方法,例如
if(top != self) top.location.replace(location);
target="_top"
在具有属性的表单上触发提交事件target="_top"
在具有属性的锚元素上触发点击事件。实际上,具有target="_top"
属性的锚元素被渲染为无用。因此,建议用户采取行动的好消息也不起作用(如此Flickr iFrame 示例所示)。
3. 我想达到什么目的?
我想要一种方法来打破现代浏览器上的框架,这些浏览器已经实现了sandbox
带有标志allow-forms
和allow-scripts
存在的 iFrames 的属性?
似乎他们刚刚为所有具有此属性的黑帽提供了拼图的缺失部分。
4. 我不是在寻找什么?
我正在寻找一种解决方案,它将打破框架。不是一个解决方案,它不会在框架内显示站点(例如X-Frame-Options
响应头)或使用 CSS 来隐藏正文等。