我正在尝试让 iFrame 沙箱正常工作,但 Firefox 给我带来了麻烦。
<iframe src="" scrolling="no" sandbox=""></iframe>
我使用 jQuery 将 iFrame 的 src
属性设置为几个不同页面之一。但我的目标页面中含有 JavaScript,这使得它们脱离了我的 iFrame。我用 sandbox
属性来反驳这一点,该属性应该阻止 JavaScript 在 iFrame 内运行。这在 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/