【问题标题】:How to open new browser window from Service Worker如何从 Service Worker 打开新的浏览器窗口
【发布时间】:2017-07-07 12:53:44
【问题描述】:

有没有办法从 Service Worker 中打开新的浏览器窗口,例如 window.open(...)?

Clients.openWindow()WindowClient.navigate() 不是我需要的,只打开新标签。

【问题讨论】:

  • 使用 postMessage 向客户端发送信号,请求打开一个窗口。但我猜你会以“弹出窗口被阻止”消息结束。
  • 我用的是Push API,出现NotificationEvent时没有open tab,所以没有客户端发送postMessage
  • 所以,创建新标签并使用它的窗口引用打开,然后关闭。
  • 你有没有发现什么?

标签: javascript notifications service-worker


【解决方案1】:

我不清楚为什么你明确指出 Clients.openWindow() 不是你需要的东西,因为你描述的是 Clients.openWindow() 的预期用例。这与您将获得解决方案一样接近。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2015-04-02
    • 1970-01-01
    • 2015-12-26
    相关资源
    最近更新 更多