次のコードを使用して、ユーザーが特定のサイトを訪問しようとしているかどうかを検出しています。Chrome拡張機能はURLを1回だけ検出できますか?
var array = ["foo.bar", "foo.com", "foo.org"];
chrome.tabs.onUpdated.addListener(function (id, info, tab) {
for (var i = 0, len = array.length; i < len; i++) {
if (tab.url.indexOf(array[i]) != -1) {
chrome.notifications.create('main', {
type: 'basic',
iconUrl: 'icon.png',
title: 'Title Message',
message: 'Message Body'
}, function(notificationId) {});
}
}});
問題は、それが例えばfoo.com
内毎回ユーザーナビゲーションを実行することです。そのURLを一度だけ検出し、サイト内のリンクがクリックされるたびに通知を表示しないようにする方法はありますか?
私はjavascriptとChrome Extension APIの初心者ですので、うまくいきます。
EDIT - 質問を明確にするために、ユーザーがページにいる間に一度だけURLを検出したいと思います。しかし、別のページに移動すると、そのURLが再び検出されます。たとえば、ユーザーはfoo.comに行き、通知が表示されます。ユーザーはページの周りをナビゲートし、これらのナビゲーションの通知はトリップされません。ユーザーはgoogle.comに行き、その後foo.comに戻り、通知が再度表示されます。
が広すぎます。エクステンションの公式ドキュメントでストレージとバックグラウンドスクリプトの基礎を読んでください。 –
一回だけ何を?日?再起動するまでセッションをブラウズしますか?拡張のライフタイム? – Xan
@ Xan質問に編集を追加しました。 –