【问题标题】:How to get reference to a new window of diff origin that is opened from current one如何获取对从当前打开的差异来源的新窗口的引用
【发布时间】:2019-08-15 04:46:59
【问题描述】:

这是一个 Angular 项目。在我的页面 A 上,我有一个链接到不同来源的页面,HTML 如下:

...
<a href="https://another.origin"> PAGE B </a>
...

A 用户从 A 页面打开页面 B 到一个新窗口。此时,A 仍然打开。

现在我想给 B 发一条消息,像这样referenceOfB.postmessage(msg, bOrigin) 所以我需要获得对 B 的引用。

我试过了 window.open 获取对 B 的引用但获取 null,不确定这是否是处理它的正确方法。谁能给出一些关于如何做到这一点的提示?

【问题讨论】:

    标签: javascript angular typescript cross-domain


    【解决方案1】:

    您可以使用window.open 生成一个新窗口 - 此函数返回对生成的窗口的引用。然后,您可以向正在使用的消息发布消息 postmessage.

    https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

    var w = window.open('https://google.com')
    w.postMessage('hello', "*"); // can use target domain instead of *
    

    【讨论】:

    • 如果我想引用一个用户打开的新窗口,而不是我的window.open方法?
    • 您网站上的用户?我认为,您必须拦截他感知的链接点击并改用 window.open。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2011-07-17
    相关资源
    最近更新 更多