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

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


当前回答

   <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>

其他回答

如果你在你的网页中使用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';">

记住,在XHTML中,target="_parent"已弃用,但在HTML 5.x中仍然支持。

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

   <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>

你可以使用任何选项

如果只有父页面:

如果你想打开父页面或父iframe的所有链接,那么你可以在iframe的头部部分使用以下代码:

<base target="_parent" />

OR

如果你想打开一个特定的链接到父页面或父iframe,那么你可以使用以下方法:

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

OR

在嵌套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>

OR

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

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

or

<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>

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

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

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

是的,我找到了

<base target="_parent" />

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

And

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

这可以用于整个页面,也可以用于页面的特定部分。

谢谢你们的帮助。