How to get focus to a Chrome tab which created desktop notification?
You can just place window.focus() in Google Chrome. It will focus to that window when clicked.
var n = window.webkitNotifications.createNotification('ico.gif', 'Title', 'Text');n.onclick = function(x) { window.focus(); this.close(); };n.show();
I opened the inspector in Gmail, added the above code, moved to a different tab, and ran it. The notification appeared and once clicked, it brought me back to Gmail.
Using Notifications.
if (typeof Notification !== 'undefined') { alert('Please us a modern version of Chrome, Firefox, Opera or Safari.'); return;}Notification.requestPermission(function (permission) { if (permission !== 'granted') return; var notification = new Notification('Here is the title', { icon: 'http://path.to/my/icon.png', body: 'Some body text', }); notification.onclick = function () { window.focus(); };});
window.focus()
does not always work in recent Webkit browser versions (Chrome, Safari etc). But parent.focus()
does.
Here's a complete jsfiddle: https://jsfiddle.net/wv0w7uj7/3/
Code:
function notifyMe() { if (Notification.permission !== "granted") Notification.requestPermission(); else { var notification = new Notification('Notification title', { icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png', body: "You've been notified!", }); notification.onclick = function () { parent.focus(); window.focus(); //just in case, older browsers this.close(); }; }}