我们有以下情况,从单个域运行:
页面 A 使用 window.open()
打开一个命名窗口(弹出播放器)。 window.open()
为页面 A 提供对窗口的引用。
用户现在重新加载页面 A。对命名窗口的引用丢失了。使用 window.open()
来“查找”窗口具有重新加载它的不幸副作用(不可取)。还有其他方法可以引用此窗口吗?
原文由 spender 发布,翻译遵循 CC BY-SA 4.0 许可协议
我们有以下情况,从单个域运行:
页面 A 使用 window.open()
打开一个命名窗口(弹出播放器)。 window.open()
为页面 A 提供对窗口的引用。
用户现在重新加载页面 A。对命名窗口的引用丢失了。使用 window.open()
来“查找”窗口具有重新加载它的不幸副作用(不可取)。还有其他方法可以引用此窗口吗?
原文由 spender 发布,翻译遵循 CC BY-SA 4.0 许可协议
AFAIK,不,没有..
一种肮脏但我猜它会起作用的 hack 是使用 window.opener 从弹出窗口中定期重置父窗口上的引用,代码如下:
设置间隔(函数(){
如果(window.opener){
window.opener.document.myPopupWindow = 窗口
}
}, 100)
在父窗口中,您将能够访问 document.myPopupWindow,即使在重新加载之后(好吧,在重新加载后 100 毫秒)。这应该跨浏览器工作。
原文由 Alexander Malfait 发布,翻译遵循 CC BY-SA 2.5 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
尝试这个:
它将打开一个具有唯一名称的空白窗口。由于 url 为空,因此不会重新加载窗口的内容。