Iframe 将一个页面的URL替换为框架中另一个页面的URL

Iframe 将一个页面的URL替换为框架中另一个页面的URL,iframe,Iframe,我正在尝试加载一个网页,在“b.html”页面的框架中显示“a.html”。另外,我正在运行脚本,该脚本使用“b.html”中的history.ReplaceState({},“,”/a.html”)将url替换为“a.html”。我在加载iframe之前运行上述脚本,即窗口的url从“b.html”更改为“a.html”。但一旦url更改为“a.html”,iframe中就不会加载a.html页面。然而,如果我不运行上面的脚本,“a.html”页面将加载到iframe中。有人能告诉我为什么这个

我正在尝试加载一个网页,在“b.html”页面的框架中显示“a.html”。另外,我正在运行脚本,该脚本使用“b.html”中的history.ReplaceState({},“,”/a.html”)将url替换为“a.html”。我在加载iframe之前运行上述脚本,即窗口的url从“b.html”更改为“a.html”。但一旦url更改为“a.html”,iframe中就不会加载a.html页面。然而,如果我不运行上面的脚本,“a.html”页面将加载到iframe中。有人能告诉我为什么这个网页没有载入iframe吗


提前谢谢。

您是否考虑过使用
location.assign(“/a.html”)
是的,我尝试过使用location.assign(“/a.html”)并且现在可以使用了。但是,现在的问题是“a.html”脱离了框架(因为它实现了框架破坏代码)。框架分解代码检查“top.location”和“self.location”。因为我已经使用replaceState()将top替换为“a.html”,所以框架分解代码不应该工作。但它能在画面外工作并破裂。为什么会发生这种情况?之所以会发生这种情况,是因为它实际上是在查看和比较top和self的URL,不同的是,它会爆发出来。您可能需要修改框架分解代码,以便将self与状态中替换的内容(而不是顶部)进行比较。我在框架分解代码中尝试了alert(top.location)和alert(self.location)。两者都是相同的,因为URL是使用replaceState()修改为a.html(这是iframe的URL)。但它还是爆发了。你也可以尝试同样的方法。我还没弄明白。你能发布到目前为止所有的代码吗?我可以调试它,看看发生了什么,然后发布答案。