gpt4 book ai didi

javascript - 如果手动单击 URL 并打开一个新选项卡,打开的选项卡是否仍然可以获取对单击 URL 的窗口的引用?

转载 作者:行者123 更新时间:2023-12-05 07:30:42 24 4
gpt4 key购买 nike

这是我的意图:
1. 用户点击一个窗口上的一个 URL,它在一个新的标签页中打开(新打开的标签页与原始窗口具有相同的域)。
2. 打开的选项卡向用户单击 URL 的原始窗口发送消息(使用 postMessage)。

不幸的是,打开的选项卡无法获得对原始窗口的引用。我试过 window.opener 但没有用。似乎大多数方法只有在使用 window.open 打开选项卡时才有效。

我考虑过让原始窗口向打开的选项卡发送消息。这样,新选项卡就可以使用 event.source 获取对原始窗口的引用。到目前为止,我可以通过将 onclick 添加到 URL 来检测用户何时单击 URL,但如果用户通过按下滚轮打开 URL,它不会触发,我也无法找到使原始窗口获得对打开的选项卡的引用的方法。

最佳答案

当用户单击 rel 属性设置为 opener 的链接时,window.opener 属性会在新选项卡上设置或窗口。从那里您可以调用在该窗口上定义的函数。

// first tab:
window.sendMessage = function (data) {
// handle message
}

// new tab
window.opener.sendMessage(data)

关于javascript - 如果手动单击 URL 并打开一个新选项卡,打开的选项卡是否仍然可以获取对单击 URL 的窗口的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52131159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com