我需要在相同的父页面中打开链接,而不是在一个新页面中打开它。

注意:iframe和父页面是同一个域。


当前回答

使用JavaScript:

window.parent.location.href= "http://www.google.com";

其他回答

我发现最好的解决方案是使用基本标签。在iframe的页面头部添加以下内容:

<base target="_parent">

这将在父窗口中加载页面上的所有链接。如果你想要你的链接加载在一个新的窗口,使用:

<base target="_blank">

浏览器支持

我找到了一个简单的解决办法

<iframe class="embedded-content" sandbox="allow-top-navigation"></iframe>

allow-top-navigation 允许iframe更改parent.location。 更多信息https://javascript.info/cross-window-communication

有一个HTML元素叫做base,它允许你:

为页面上的所有链接指定默认URL和默认目标:

<base target="_blank" />

通过指定_blank,可以确保iframe内的所有链接都将在外部打开。

使用目标属性:

<a target="_parent" href="http://url.org">link</a>

<a target="parent">将在新选项卡/窗口中打开链接…<a target="_parent">将在父/当前窗口中打开链接,而不会打开新的选项卡/窗口。唐't_forget_that_underscore !