1. 什么问题?
如果未设置标志,则在 HTML5 规范中为iFrame元素添加的sandbox属性会在现代浏览器(使用当前版本的 Chrome 和 Safari 测试)中呈现任何帧中断/破坏/杀死方法 null ,即使标志和存在。allow-top-navigationallow-formsallow-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 来隐藏正文等。