从“iframe”扩展的自定义元素禁用对window.top的访问

时间:2014-03-29 11:47:50

标签: javascript iframe

我一直在尝试使用iframe在我的项目中集成第三方基于Web的工具。不幸的是,第三方应用程序广泛使用window.top.whatever并且托管在不同的域中,因此它只是不起作用。 我计划使用从iframe扩展的自定义元素,重新定义window.top以使用iframe的窗口而不是顶部窗口。这很好,因为它应该仅适用于Chrome。问题是我只做了如下最简单的扩展iframe元素的实现:

<script>
var RebaseIframe = document.registerElement('rebase-iframe', {
  prototype: Object.create(HTMLIframeElement.prototype),
  extends: 'iframe'
});
</script>

<iframe is="rebase-iframe" src="https://third-party-app.fake">

只有这一点,它才有效!第三方应用程序将window.top视为自己的窗口,这正是我想要的。 但我什么也没做,这有点令人困惑。任何人都可以告诉我这是一个错误还是预期的行为?

提前致谢!

0 个答案:

没有答案