如何强制从iframe链接在父窗口中打开

html HTML

小小MandyGil

2020-03-23

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

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

第2901篇《如何强制从iframe链接在父窗口中打开》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

10个回答
西门Green 2020.03.23

<a target="parent">将在新标签页/窗口中<a target="_parent">打开链接... 将在父窗口/当前窗口中打开链接,而无需打开新标签页/窗口。不要忘了得分!

西门 2020.03.23

尝试 target="_top"

<a href="http://example.com" target="_top">
   This link will open in same but parent window of iframe.
</a>
西里Near 2020.03.23

是的,我发现了

<base target="_parent" />

这对于打开所有在iframe中打开的iframe链接很有用。

$(window).load(function(){
    $("a").click(function(){
        top.window.location.href=$(this).attr("href");
        return true;
    })
})

我们可以将其用于整个页面或页面的特定部分。

感谢你的帮助。

2020.03.23

最通用,最跨浏览器的解决方案是避免使用“ base”标签,而使用“ a”标签的target属性:

<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>

<base>标签的通用性较差,浏览器对其在文档中放置位置的要求不一致,需要进行更多的跨浏览器测试。根据您的项目和情况,要实现<base>标签的理想跨浏览器放置可能很困难,甚至完全不可行

使用标记target="_parent"属性执行此操作<a>不仅对浏览器更友好,而且还使您可以区分要在iframe中打开的那些链接和要在父级中打开的那些链接。

2020.03.23

尝试target="_parent" 属性里面anchor tag

Pro宝儿 2020.03.23

使用JavaScript:

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

有一个HTML元素base,它允许您执行以下操作:

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

<base target="_blank" />

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

番长 2020.03.23

如前所述,您可以使用target属性,但是XHTML在技术上已弃用该属性。这样您就可以使用javascript了,通常是parent.window.location

泡芙 2020.03.23

使用目标属性:

<a target="_parent" href="http://url.org">link</a>
小胖Gil 2020.03.23

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

<base target="_parent">

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

<base target="_blank">

所有浏览器完全支持此标签

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android