【问题标题】:Load iframe links into parent window?将 iframe 链接加载到父窗口中?
【发布时间】:2013-03-20 17:21:36
【问题描述】:

我有这个 iframe 代码:

<iframe src="http://www.example.com" border="0" framespacing="0" marginheight="0" marginwidth="0" vspace="0" hspace="0" scrolling="yes" width="100%" frameborder="0" height="100%"></iframe>

我想要做的是..当我点击 iframe 页面中的任何链接..然后我会转到它并加载页面,我将从当前页面退出到 iframe 链接作为新页面.

target="_self" 之类的东西 - 不像普通的 iframe,它会在浏览器本身没有任何更改的情况下转到此链接。

示例: iframe 源代码:http://www.w3schools.com

当我在 iframe 页面中单击“学习 HTML”时..然后我将转到 http://www.w3schools.com/html/default.asp 我的浏览器 URL 也会更改为它。

所以我只是点击了 iframe 中的一个链接,然后就转到了它。

有什么想法吗?

【问题讨论】:

标签: html iframe


【解决方案1】:

是的,您可以使用target="_parent" 来实现。

"target="_parent" 在父框架中打开链接的文档。"

示例:

<a target="_parent" href="http://example.org">Click me!</a>

编辑:

如果这不起作用,您可以尝试_top

<a target="_top" href="http://example.org">Click me!</a>

base target:

<base target="_parent" />

或者在 JavaScript 中 window.top.location

window.top.location = "http://example.com";

【讨论】:

  • @user2203703 我不明白,这回答了问题。您在 iframe 内的链接上使用目标父级..
  • 我想离开我的页面,它有 iframe 和 goout 到我在 iframe 内点击的链接
  • @user2203703 是的......这就是它的作用。您可以在 iframe 内的链接上,然后从带有 iframe 的页面重定向到新页面。
  • 是的,它确实适用于不同的域,但如果同一域的 iframe 则不起作用..有什么想法吗?
  • @daniel 提供的 jsfiddle 目前不起作用,因为 jsfiddle 使用的 iframe 在其沙盒属性中没有标记“allow-top-navigation”,并且链接上的目标属性具有_parent 而不是 _top
【解决方案2】:

你要找的是&lt;a href="..." target="_parent"&gt;

_parent 会导致它转到父框架

_top 将导致它转到最顶层。

_parent_top 都应该适用于您的目标。

【讨论】:

  • 也许我不清楚这个问题。 iframe 中的页面...您是否可以控制该页面中的 HTML,还是第三方站点?我更新了我的答案以包含 target=_top 但当然这是假设您可以控制框架的内容。
【解决方案3】:

您可以使用 javascript 将目标动态添加到链接中,类似这样。

function onLoadIF(frame)
{
    var elements = frame.getElementsByTagName('a'),
        len = elements.length;

    while( len-- ) {
        elements[len].target = "_parent";
    }
}

然后将 onload="onLoadIF(this)" 添加到 iframe。

【讨论】:

    【解决方案4】:

    是的,只需在链接上添加target="_parent",它就会加载到主页上。

    【讨论】:

      【解决方案5】:

      如果站点在 iframe 中打开,则重定向到主站点

      <script>
          if (window.top.location != window.self.location) {
              top.window.location.href = window.self.location;
          }
      </script>
      

      【讨论】:

      • 这是一个 hack,它甚至没有回答问题。
      猜你喜欢
      • 2015-04-10
      • 1970-01-01
      • 2018-02-21
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多