Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome桌面通知单击以关注内容_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript Chrome桌面通知单击以关注内容

Javascript Chrome桌面通知单击以关注内容,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在将桌面通知构建到我正在使用的chrome扩展中。我需要的功能要求用户在单击通知窗口时转到导致通知的选项卡。我可以使用chrome.tabs API实现这一点,但我无法弄清楚的是,当点击通知时,如何将chrome带到前台 我知道window.focus()在chrome中被禁用,但这绝对是可能的,因为这是Gmail桌面通知的行为 notification = webkitNotifications.createNotification(...) notification.onclick =

我正在将桌面通知构建到我正在使用的chrome扩展中。我需要的功能要求用户在单击通知窗口时转到导致通知的选项卡。我可以使用chrome.tabs API实现这一点,但我无法弄清楚的是,当点击通知时,如何将chrome带到前台

我知道window.focus()在chrome中被禁用,但这绝对是可能的,因为这是Gmail桌面通知的行为

notification = webkitNotifications.createNotification(...)
notification.onclick = function(){
    window.focus();
    this.cancel();
};
notification.show()
…按预期工作,无需任何附加权限。

用于聚焦选项卡(不要与之混淆)

tabId
通常通过以下方式获得。此对象被传递给许多方法/事件侦听器(有时通过)


这是错误的,这是针对HTML5 api的,他在询问chrome扩展api。这对我也不起作用。单击通知只会关闭通知,而不会在窗口上设置焦点。我在此处发布了一个更新的答案:我想确保选项卡都已设置为活动状态,并且窗口已聚焦。您是否知道并行执行这两种操作是否有害,还是应该先将选项卡设置为活动,然后在回调中设置窗口焦点?
function msg(){
    var notification = new Notification("Title", {body: "Yore message", icon: "img.jpg" });
    notification.onshow = function() { setTimeout(notification.close(), 15000); };
    notification.onclick = function(){
        window.focus();
        this.cancel();
    };
}
msg();