【发布时间】:2012-12-21 23:33:12
【问题描述】:
我有 3 个 html 页面。
grandparent.html - 包含 1 个 iframe,其中设置了 allowfullscreen 属性,源设置为 parent.html
parent.html - 包含 1 个 iframe,其中设置了 allowfullscreen 属性,源设置为 child.html
child.html - 包含 1 个带有按钮的 div,该按钮请求父级上的全屏
所有 3 个页面都在同一个域中。
单击 child.html 中的按钮时,我想让 parent.html 中的 iFrame 在浏览器中加载“grandparent.html”时全屏显示。但这失败了。什么都没发生。但是,当我在浏览器中加载“parent.html”时,它会全屏显示。
由于某种原因,grandparent.html 中的 iframe 会阻止 parent.html 中的 iframe 进入全屏状态。这很奇怪,因为祖父 iframe 也将 allowfullscreen 设置为 true。
此外,从子按钮 onClick 处理程序中,我可以通过使用 parent.parent.document.getElementById('grandParentIframe'); 访问祖父母的 iframe 来全屏显示它;
但这不是我想做的,因为我的祖父母很可能在不同的域中。我希望我可以通过嵌套 iFrame 来克服跨域限制,但即使现在所有三个页面都具有相同的域、主机和协议,它也不起作用。
请帮忙! SM
【问题讨论】:
-
请添加一些html代码。
-
只是一个一般性的问题,但为什么在 i-frame 中需要 i-frame... i-frame 完全单独加载页面,然后将结果导入父页面。我不知道您的上下文代码,但总的来说,我认为您可以使用 1 个 iframe 进行任何操作;请详细说明。
-
粘贴一些代码并放一个演示来获取您的上下文。
-
这里有一些代码:pastebin.com/ndzm6MKL Devon,我的网站加载到另一个我无法控制的 shell(包含 iframe)中。我的网页和外壳位于不同的域中。因此,当我尝试使用父母 iFrame 时,我收到一条错误消息,指出域、协议和端口必须匹配。我希望我能让他们在他们的 iframe 中添加“allowfullscreen”参数,这样当我将 iFrame(在 parent.html 中)全屏时,它也会在他们的 shell(grandparent.html)中全屏。我假设这个解决方案可以跨域工作,但现在它也不能在同一个域上工作
-
你解决过这个问题吗?我有一个类似的问题