0

我有 3 个 html 页面。

grandparent.html - 包含 1 个 iframe,其中设置了 allowfullscreen 属性,源设置为 parent.html

parent.html - 包含 1 个 iframe,其中设置了 allowfullscreen 属性,源设置为 child.html

child.html - 包含 1 个带有按钮的 div,该按钮在父级上请求全屏

所有 3 个页面都在同一个域中。

单击 child.html 中的按钮,当我在浏览器中加载“grandparent.html”时,我想让 parent.html 中的 iFrame 全屏显示。但这失败了。什么都没发生。但是,当我在浏览器中加载“parent.html”时,它会全屏显示。

由于某种原因,grandparent.html 中的 iframe 会阻止 parent.html 中的 iframe 进入全屏状态。这很奇怪,因为祖父母 iframe 也将 allowfullscreen 设置为 true。

此外,从子按钮 onClick 处理程序中,我可以通过使用 parent.parent.document.getElementById('grandParentIframe'); 访问它来使祖父母的 iframe 全屏显示。

但这不是我想做的,因为我的祖父母很可能在不同的域上。我希望我可以通过嵌套 iFrame 来克服跨域限制,但即使现在所有三个页面都具有相同的域、主机和协议,它也不起作用。

请帮忙!SM

4

1 回答 1

0

如果您有嵌套的 iframe,这非常简单,您所要做的就是将每个 iframe 设置为允许全屏。

如果您无法直接从代码中设置 iframe,那么您需要让父页面加载一个允许这样做的脚本,或者在不友好的页面中创建一个与父页面具有相同来源的 iframe,并且从那里加载一些专用脚本。我不打算在这里设置 iframe buster,但如果您好奇,请随时询问。

于 2015-08-31T22:45:30.797 回答