Ответ 1
notification = webkitNotifications.createNotification(...)
notification.onclick = function(){
window.focus();
this.cancel();
};
notification.show()
... работает как ожидалось, без каких-либо дополнительных разрешений.
Я создаю уведомление на рабочем столе в своем расширении chrome, над которым я работаю. Необходимые функции требуют, чтобы пользователь был доставлен на вкладку, вызвавшую уведомление, когда они нажимают на окно уведомлений. Я могу получить эту работу с помощью API chrome.tabs, но то, что я не могу понять, это то, как перенести Chrome на передний план при нажатии на уведомление.
Я знаю, что window.focus() отключен в chrome, но это, безусловно, возможно сделать, поскольку это поведение уведомлений рабочего стола Gmail.
notification = webkitNotifications.createNotification(...)
notification.onclick = function(){
window.focus();
this.cancel();
};
notification.show()
... работает как ожидалось, без каких-либо дополнительных разрешений.
Используйте chrome.tabs.update(tabId, {active: true});
, чтобы сфокусировать вкладку (не путать с chrome.windows.update
).
tabId
часто получается с помощью Tab
type. Этот объект передается многим методам/прослушивающим событиям (иногда через MessageSender
type).
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();