【问题标题】:Replace document with the iframe's document用 iframe 的文档替换文档
【发布时间】:2017-09-08 16:56:30
【问题描述】:

我有一个网页显示包含随机网站的 iframe。 10 秒后,我希望 iframe 中的网站替换“父”网站。

假设我的网站 www.aaa.com 有一个 iframe,其中包含网站 www.bbb.com。 10 秒后,我希望浏览器将当前打开的 www.aaa.com 替换为 www.bbb.com 而无需重新加载页面,这样用户就不会失去他们的状态。基本上是替换文档并相应地更新 URL 栏。

我不能只获取 iframe 的 URL 并更改位置,因为用户可能正在观看视频,并且由于页面重新加载,它会从头开始重新开始。

我已经搜索了几个小时,但绝对找不到任何东西。

【问题讨论】:

    标签: javascript dom iframe cross-domain


    【解决方案1】:

    您可以设置window.location = "//www.bbb.com",但它只会像往常一样获取该网页。

    您可以在浏览器中使用window.history.replaceState(null, "test", "www.aaa.com/mypage?foo=bar") 设置网址,但跨域会失败(甚至在您网站上使用子域也会失败)。

    而且你无法获取跨域 iframe 的内容。

    这些都与跨域安全有关。可能会有例外,例如当您具有提升的权限(浏览器插件)时。某些功能可能可以使用 CORS 并不能使用,但您需要其他域所有者的合作。

    简而言之,最接近您想要的可能是将 iframe 设置为窗口的整个宽度/高度。

    【讨论】:

    • 浏览器插件可能是一个选项。我的用户都有我的扩展来接收警报,所以也许我可以使用它。我会调查的。谢谢你的想法。
    猜你喜欢
    • 1970-01-01
    • 2016-11-19
    • 2018-07-15
    • 2022-01-17
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    相关资源
    最近更新 更多