ツールバーのボタンをクリックしたときにURLを保存する拡張機能を作成しました。ただし、Chrome が再起動するたびに拡張機能が実行されるため、空白の URL が保存されます。{ps - 新しいタブごとに実行されるわけではありません。Chrome を完全に再起動するためだけです}。
前もって感謝します。
ツールバーのボタンをクリックしたときにURLを保存する拡張機能を作成しました。ただし、Chrome が再起動するたびに拡張機能が実行されるため、空白の URL が保存されます。{ps - 新しいタブごとに実行されるわけではありません。Chrome を完全に再起動するためだけです}。
前もって感謝します。
拡張機能を初めて実行するのか、単にブラウザを起動するだけなのかを確認する必要があります。この種のデータを保存するには、 localStorageを使用することをお勧めします。
次に例を示します。
background.js
if(localStorage["firstSetupDone"] == "true")
{
/*Initialize my extension here*/
}
else
{
/*Setup my extension then initialize it here*/
localStorage["firstSetupDone"] = "true";
}
Chrome の起動時に拡張機能を無効にするのではなく、単にタブの href プロパティを調べて、新しいタブ ページをスキップすることをお勧めします。拡張ページや履歴ページなどの他のページをスキップすることもできます。たとえば、次のコードは、現在開いているすべてのタブを循環しますが、新しいタブ ページはスキップします。
chrome.tabs.query({currentWindow: true}, function(tabs) {
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].href !== 'chrome://newtab/') {
// Do stuff!
}
}
});
必要に応じて、正規表現または "tabs[i].indexOf('chrome://') === -1" ( URL に文字列「chrome://」が含まれていないことを意味します)。