【问题标题】:Javascript Pop-Under on Web Kit BrowsersWeb Kit 浏览器上的 Javascript Pop-Under
【发布时间】:2025-12-30 14:50:10
【问题描述】:

我正在尝试使用事件侦听器捕获 localStorage 上的事件。由于存储事件侦听器仅在从活动页面以外的页面触发时才会触发,因此我需要一个虚拟页面来绑定我的侦听器,该页面位于后台。因此,由我的用户正在执行的操作触发的任何存储事件都会被始终打开的虚拟页面捕获。这样做:

  window.open("NewPage.aspx").blur();  //NewPage.aspx being my dummy page that begins listening for storage events on open
  window.focus();

...在我的桌面浏览器上运行,或者至少在 Chrome 上运行。但是,在基于 webkit 的浏览器上,NewPage.aspx 作为焦点页面或弹出窗口打开,您必须关闭它才能返回使用该站点。

有人知道如何在基于 web kit 的浏览器的后台打开一个窗口吗?

【问题讨论】:

  • 你可以尝试给主页面添加焦点,你还应该给窗口一个句柄名称,比如 window.open("NewPage.aspx", "dummyPage")
  • 我认为这就是 window.focus() 完成的?我已经这样做了。

标签: javascript popup webkit dom-events


【解决方案1】:

自 4.0 以来的 firefox 设置已禁用 pop unders。 Mozilla support 您可以查看 Firefox 4 的 this solution 是否有效。

【讨论】:

  • 真该死。关于如何完成我想要达到的目标的任何建议?
  • 在 jsfiddle 上尝试了建议,但仍然没有模糊新窗口。
  • 您对我的问题的回答似乎 100% 正确。对于其他有这个确切问题的人,这就是我解决它的方法。首先,我使用了 window.location = "NewPage.aspx",然后我使用了 window.open("MainPage.aspx")。从而使我的主页成为弹出窗口,因此成为焦点窗口。在桌面浏览器上,这并不理想。但是,对于我们正在使用的平板电脑上的移动浏览器,这似乎可以解决问题。