JavaScriptとChrome拡張プログラムの新機能は比較的新しいので、ブラウザにデータをローカルに保存できるストレージAPIとのやりとりに問題がありました。 chrome.storageのドキュメントを慎重に読んだ後も、ストレージには何もロードできませんでした。これまで私が2つの部分に分かれているコードは、最初は名前とタブを定義するコードです。Google ChromeのストレージAPIとのやり取り
var groupmaker = function() {
var $tabs = document.querySelector("tabs-");
var $input = document.querySelector("input");
chrome.tabs.query({windowId: chrome.windows.WINDOW_ID_CURRENT}, function(tabs) {
setData($input.value, tabs)
$tabs.innerHTML = `<h1>${$input.value}</h1>`;
tabs.forEach(tab => {
$tabs.innerHTML += `
<a href='${tab.url}'>
<p>${tab.title}</p>
</a>
`;
});
$tabs.querySelector('h1').addEventListener('click', toggleHidden);
});
};
var setData = function(name, tabs){
chrome.storage.local.set({ name: JSON.stringify(tabs) }, function(){
// Now data has been saved get ALL data (by passing in null)
chrome.storage.local.get(null, function(items){
console.log(items)
});
});
}
誰もがこのコードではエラーが表示さん:それはストレージと対話することになっている第2の機能を呼び出しますか? manifest.jsonファイルに "storage"権限の他に拡張機能が設定されている必要がありますか?どんな助けでも大歓迎です。
'name'がnullではないことを確認して、バックグラウンドページのコンソールを見ていることを確認してください。 –
名前がnullではありません。背景ページコンソールを見てどういう意味ですか?私は実際にバックグラウンドページで作業していません。それは問題ですか? –
'console.log'と呼ばれる場所からコンソールを見るべきです。たとえば、バックグラウンドページで呼び出す場合は、バックグラウンドページを開いてコンソールからの出力があるかどうかを確認する必要があります。背景ページをデバッグする方法については、http://stackoverflow.com/documentation/google-chrome-extension/5938/developer-tool-integration/20829/debugging-the-background-page-script#t=201612080838201839112 –