How to get focus to a Chrome tab which created desktop notification? How to get focus to a Chrome tab which created desktop notification? google-chrome google-chrome

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();    };  }}