javascript - 沙盒 iframe 属性不会阻止 FIrefox 中的重定向

标签 javascript firefox iframe sandbox breakout

我正在尝试让 iFrame 沙箱正常工作,但 Firefox 给我带来了麻烦。

<iframe src="" scrolling="no" sandbox=""></iframe>

我使用 jQuery 将 iFrame 的 src 属性设置为几个不同页面之一。但我的目标页面中含有 JavaScript,这使得它们脱离了我的 iFrame。我用 sandbox 属性来反驳这一点,该属性应该阻止 JavaScript 在 iF​​rame 内运行。这在 Chrome 和 Internet Explorer 中效果很好,但在 Firefox 中,一旦我将目标页面加载到 iFrame 中,它就会接管整个窗口。

Firefox 的文档称其完全支持sandbox 属性。难道我做错了什么?安装 NoScript 并告诉我的浏览器不要从目标站点运行 JavaScript 可以使一切正常运行,但显然我不希望 Firefox 用户在我的站点运行之前必须安装插件。

最佳答案

如果您在 iframe 进入 DOM 后操作或设置 sandbox 属性,它将完全忽略该设置。您必须在 iframe 元素添加到 DOM 之前设置它。

关于javascript - 沙盒 iframe 属性不会阻止 FIrefox 中的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606680/

相关文章:

javascript - HTML5 拖放访问属性

javascript - Angularjs Protractor 设置窗口大小大于屏幕?

html - 为什么 "border-top:none"会把我其余的 css 放错地方?

css - 调整窗口大小时如何将导航菜单恢复为无序 ListView ?

firefox - 使用 Firefox WebDriver 时选择所有具有文本的节点的 Xpath 表达式是什么?

php - javascript(jquery)中的组合树

javascript - React Native - 导航问题 "undefined is not an object (this.props.navigation.navigate)"

javascript - 来自另一个域的 iFrame 如何摆脱自身?

ajax - Yahoo Mail 如何使后退按钮遍历其 UI 中的先前点击?

javascript - Web 扩展 - 使用按钮通知的替代方案