【问题标题】:How to Open a new tab from Iframe?如何从 iframe 打开新标签页?
【发布时间】:2013-02-13 14:52:00
【问题描述】:

我有一个用 php 构建的网站,在某些页面中,我显示了一个带有另一个网站链接的 iframe,它显示了它的登录屏幕。

两个网站位于不同的域中。

喜欢主网站:http://www.abcd.com iframe 链接:http://www.xyz.com

现在我的用户在 abcd.com 中看到一个页面,其中有一个 iframe <iframe src="http://www.xyz.com/" style="width:688px; height:384px;"></iframe>

其中显示 xyz.com 的登录屏幕

现在我想要的是,如果用户登录到 xyz.com,另一个新标签应该打开主页,在登录 xyz.com 和 abcd.com 后,标签应该关闭。

是否可以使用适用于包括 IE 7、8、9 在内的所有浏览器的 javascript 或 jquery ??

谢谢

【问题讨论】:

  • 您不能关闭不是用 window.open 创建的窗口/选项卡。 [有一些适用于某些浏览器的 hack,搜索 stackoverflow]
  • 好的,但是可以按照我上面解释的方式打开标签吗???
  • 你可以像我的回答一样用你的 iframe 替换当前标签

标签: javascript jquery html iframe browser


【解决方案1】:

打开一个新标签

链接

<a href="foo.html" target="_blank">linky</a>

弹出

window.open("foo.html", "_blank");

【讨论】:

  • 感谢您的回复。但我想我不能让你正确理解我的问题。我知道如何在 HTML 和 Javascript 中打开一个新标签。请再次阅读我的问题描述。对不起,如果我在那里混淆了你。
  • 要打开新窗口的页面应该调用上面的行之一来打开新标签。正如我在评论中所说,没有办法关闭窗口,特别是因为它是一个跨域问题。
【解决方案2】:

将以下javascript代码放入xyz.com首页的&lt;head&gt;标签中(但如果您仍想将登录页面保留在iframe中,请不要将其放入登录页面):

<script type="text/javascript">
    if (top.location!= self.location){
        top.location = self.location
    }
</script>

现在,当打开 xyz.com 的主页时,这段代码将打破&lt;iframe&gt; 并将当前标签页从 abcd.com 更改为 xyz.com 的主页

【讨论】:

    【解决方案3】:

    我不明白你的意思,但是从 iframe 打开一个新标签只是正常的代码。

    <a href="WebAdress.netdom" target="_blank"><button>Open New Tab</button></a>
    

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      你想要做的事情是不可能的,你只在 iFrame 中提供了一个登录页面,因此你无法控制“登录”按钮的实际作用,它由其他网站控制。

      其他网站需要自己编辑操作并添加 target='_blank',但这不会发生,因为他们的用户在登录时会有另一个选项卡。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-11
        • 2016-12-23
        • 1970-01-01
        • 2013-09-30
        • 2018-11-04
        • 2013-06-26
        • 2021-11-24
        • 1970-01-01
        相关资源
        最近更新 更多