Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I would like to implement same functionality as Gmail has nowadays. When new email arrives or new chat comes, notification popup appears and if you click it, the tab with Gmail gets focussed.

I have this code:

var n = window.webkitNotifications.createNotification('ico.gif', 'Title', 'Text'); n.onclick = function(x) { this.cancel(); }; n.show(); 

When I click notification it makes it just disappear. Now I need to add some code to onclick function to bring up and focus page that created this notification. I know it is possible because GMail does it very well. But I didn't succeed in looking into Gmail sources (they are minimalized and obfuscated).

Anybody knows how to do this ?

like image 323
Frodik Avatar asked Feb 05 '11 13:02

Frodik


People also ask

How do I change my browser focus from one tablet to another?

Using Javascript, triggering an alert can have the desired effect. Run this code in your console, or add to your html file in one tab and switch to another tab in the same browser. setTimeout(function(){ alert("Switched tabs"); }, 5000); The alert appearing after the timeout will trigger tab switch.


1 Answers

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.

like image 181
Mohamed Mansour Avatar answered Sep 28 '22 16:09

Mohamed Mansour