1

我试图让 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 用户必须在我的站点运行之前安装插件。

4

1 回答 1

1

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

于 2015-01-22T16:46:37.533 回答