【发布时间】:2015-12-02 12:52:58
【问题描述】:
我正在尝试检测页面是否通过沙盒 iframe 加载。这可能吗?
例如,我们提供自定义的可嵌入小部件,有些人认为他们通过在 iframe 中沙箱化它们很聪明,但这会破坏某些东西.. 例如window.top.location
显然,它们可以启用我们需要的功能,但理想情况下,我应该能够执行以下操作:
"sandbox" in window.top
我也试过了
try {
// do something that would not work if within sandbox
} catch(e) {
}
但这不起作用,因为它是浏览器安全错误,与 javascript 无关。
JSFiddle 实际上将它们的 iframe 沙箱化以防止 window.top.location 导航,所以这将是一个向您展示的好例子。 如果您在此处查看此示例:
http://jsfiddle.net/mwsb8geL/show/
当您按下 Instant Book Online 按钮时,您会看到错误。
【问题讨论】:
-
是的,它们是完全相同的问题。我们都想知道当前页面是否在沙盒环境中执行。这两个问题都还没有答案。我一直在寻找解决方案,有机会我会阅读规范。