如何强制从IFRAME链接在父窗口被打开如何强制从IFRAME链接在父窗口被打开(How to fo

2019-05-13 17:01发布

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

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

Answer 1:

我找到了最好的解决方案是使用的基础标签。 将以下内容添加在iframe页面的头:

<base target="_parent">

这将加载在父窗口的页面上的所有链接。 如果你希望你的链接,在新窗口中加载,使用方法:

<base target="_blank">

这个标签是完全支持所有浏览器。



Answer 2:

使用目标属性:

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


Answer 3:

使用JavaScript:

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


Answer 4:

您可以使用任何选项

仅在父页面的情况下:

如果你想打开的所有链接到父页面或父iframe中,那么您可以采取以下的iframe的头部分的代码:

<base target="_parent" />

要么

如果你想开一个特定链接到父页面或父iframe中,那么您可以采取以下方式:

<a target="_parent" href="http://specific.org">specific Link</a>
<a  href="http://normal.org">Normal Link</a>

要么

在嵌套iframe的情况下:

如果要打开所有链接到浏览器窗口(在浏览器的URL重定向),那么您可以采取以下的iframe的头部分的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
    $(window).load(function(){
        $("a").click(function(){
            top.window.location.href=$(this).attr("href");
            return true;
        })
    })
</script>

要么

如果你想开一个特定链接到浏览器窗口(在浏览器的URL重定向),那么您可以采取以下方式:

<a  href="http://specific.org"   target="_top" >specific Link</a>

要么

<a  href="javascript:top.window.location.href='your_link'">specific Link</a>
<a  href="javascript:top.window.location.href='http://specific.org'">specific Link</a>
<a  href="http://normal.org">Normal Link</a>


Answer 5:

有称为HTML元素base ,它允许您:

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

<base target="_blank" />

通过指定_blank您确保iframe所有链接将会打开之外。



Answer 6:

正如指出的那样,你可以使用一个目标属性,但它在XHTML在技术上已过时。 这使得你使用JavaScript,通常像parent.window.location



Answer 7:

尝试target="_parent"的内部属性 anchor tag



Answer 8:

最通用和最跨浏览器的解决方案是避免在使用“基地”标签的,而是使用“一个”标签的目标属性:

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

所述<base>标记是不太通用的和浏览器在其对文档内的放置要求不一致,需要更多的跨浏览器测试。 根据项目和情况,就很难甚至完全不可行,实现理想的跨浏览器的布局<base>标记。

与这样target="_parent"的属性<a>标签不仅是浏览器更友好的,但也可以让你要在iframe中打开这些链接分清,那些要在父母开。



Answer 9:

<a target="parent">将打开一个新标签/窗口链接... <a target="_parent">将打开在父/当前窗口的链接,而无需打开新的标签页/窗口。 Don't_forget_that_underscore!



Answer 10:

呀,我发现

<base target="_parent" />

这个有用的开放在iframe中打开的所有链接的iframe。

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

这一点我们可以使用整个网页或网页的特定部分。

感谢你的帮助。



Answer 11:

如果您在您的网页使用的iframe,同时通过HTML超链接(锚标记)从IFRAME改变整个网页时可能会遇到问题。 有两种解决方案,以缓解这一问题。

解决方法1.您可以使用定位标记的目标属性,如下面的例子给出。

<a target="_parent" href="http://www.kriblog.com">link</a>

解决方法2.您也可以使用JavaScript iframe中打开父窗口了新的一页。

<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">

记住⇒ target="_parent"已过时,XHTML,但它仍然是在HTML 5.x中支持

更可以从以下链接阅读http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html



Answer 12:

   <script type="text/javascript"> // if site open in iframe then redirect to main site
        $(function(){
             if(window.top.location != window.self.location)
             {
                top.window.location.href = window.self.location;
             }
        });
    </script>


Answer 13:

尝试target="_top"

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


文章来源: How to force link from iframe to be opened in the parent window