1. ホーム
  2. javascript

[解決済み] デスクトップ通知を作成したChromeのタブにフォーカスを移すには?

2023-04-13 18:24:01

質問

現在のGmailと同じような機能を実装したいです。新しいメールやチャットが来たときに通知ポップアップが表示され、それをクリックするとGmailのあるタブがフォーカスされます。

私はこのコードを持っています。

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

私がnotificationをクリックするとき、それはちょうど消えるようになります。今、私はonclick関数にいくつかのコードを追加して、この通知を作成したページを表示し、フォーカスする必要があります。GMail は非常によくそれを行うので、私はそれが可能であることを知っています。しかし、私は Gmail のソースを調べることに成功しませんでした (それらは最小化され難読化されています)。

誰かこれを行う方法を知っていますか?

どのように解決するのですか?

Google Chromeの場合、window.focus()を設置するだけでよいのです。クリックするとそのウィンドウにフォーカスされます。

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

Gmailでインスペクタを開き、上記のコードを追加して、別のタブに移動し、実行しました。通知が表示され、一度クリックすると、Gmail に戻されました。