如何重新聚焦 HTML5 通知弹窗所在的窗口?

3
我正在使用以下JavaScript代码,在窗口未聚焦时发送通知:

我使用以下 JavaScript 代码,在窗口未聚焦时发出通知。

if( document.hidden || document.webkitHidden )
{
    var notification = 
        new Notification( "title", { 
            body: "body" } );
    notification.onclick = function()
    { 
        window.focus(); 
    };
}

在Chrome中它运行得很好 - 当我点击通知时,相关的标签页被重新聚焦 / 窗口被带到前台。在Firefox中,window.focus()似乎没有任何作用。

有没有跨浏览器(忘记那个奇怪的表亲IE)的解决方案,允许我在单击由它生成的通知时重新聚焦窗口?

1个回答

1

Try this for FireFox:

var e = document.createEvent('Event');
e.initEvent("focus", true, true);
window.dispatchEvent(e);

我可以确认这对Firefox 25.0.1无效。此外,您提供的方法已被弃用: https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent - jr.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接