我有一个显示包含随机网站的iframe的网页。 10秒后,我希望iframe中的网站替换“父”网站。
假设我的网站www.aaa.com有一个包含网站www.bbb.com的iframe。 10秒钟后,我希望浏览器用www.bbb.com替换当前打开的www.aaa.com,而无需重新加载页面,这样用户就不会失去状态。基本上替换文档并相应地更新URL栏。
我不能只获取iframe的网址并更改位置,因为用户可能正在观看视频,并且由于网页重新加载,它会从头开始。
我一直在寻找这个问题几个小时,我找不到任何东西。
答案 0 :(得分:2)
您可以设置window.location = "//www.bbb.com"
,但它会像往常一样获取该网页。
您可以使用window.history.replaceState(null, "test", "www.aaa.com/mypage?foo=bar")
在浏览器中设置网址,但它会在跨网域中失败(它甚至会在您网站上使用子网域失败)。
您无法获取跨域iframe的内容。
这些都与跨源安全性有关。可能存在例外情况,例如您具有提升的权限(浏览器插件)。某些功能可能可以使用CORS而不是,但您需要来自其他域的所有者的合作。
简而言之,最接近您想要的可能是将iframe设置为窗口的整个宽度/高度。