2016-12-17 10 views
14

時間が無駄になるという奇妙な問題があります。 storage.sync APIから一部のデータを読み込もうとするコンテンツスクリプトがありますが、失敗します。Chrome拡張機能storage.sync.setでコンテンツスクリプトが例外をスローする

ストレージ許可 を追加しました。これでoptions.jsファイルのstorage.sync APIを使用することができました。

何が間違っていたのか分かりますか?

document.addEventListener('DOMContentLoaded', function() { 

    chrome.storage.sync.get([ 
      'var1', 
      'var2',   
     ], function(items) {   
      alert("got it"); 
    }); 
} 

これはエラーメッセージです:

CONTENT_SCRIPT context for xxxxx) Lazy require of extension.binding did not set the binding field

(CONTENT_SCRIPT context for xxxxx) extensions::lastError:82: Uncaught TypeError: Cannot convert undefined or null to object{TypeError: Cannot convert undefined or null to object at Object.clear (extensions::lastError:82:23) at handleResponse (extensions::sendRequest:84:15) at restore at HTMLDocument.}

+0

あなたのスニペットとエラーが関連しているかどうかは、あなたが提供した内容からはっきりとは分かりません。 – pvg

+0

これは関連していますが、デバッガを使用しましたが、このエラーはストレージAPIを呼び出した直後に表示されました。これはコードの簡略版です。 – embedded

+1

さて、あなたは単にそれを推測する以外に誰かがあなたを助けることができる明確な方法がないので、問題を示す[MCVE]を考えなければならないでしょう。 – pvg

答えて

1

htmlページにコードを注入する際、私は同じ問題を抱えていました。ページにHTMLを挿入した直後に新しいIDを使用すると、デバッガがクラッシュするように見えますが、ページ自体はクラッシュしていないようです。すべてが動作し、エラーメッセージはコードを注入すると一度だけポップします。 キャッシュから来ているようです。これはちょうどページをリフレッシュした後に一度は起こりませんでした。キャッシュをクリアした後では決してありません...あまり役に立たないですが、これは私が持っていたものでもう再現できませんでした。

+0

ありがとう、それは魔法で選別されました:) – embedded

14

私もこの同じエラーが発生していました。 Chromeブラウザの拡張機能を無効にして再度有効にすることで修正しました。希望が役立ちます。

+1

私のために働いた。ありがとう。 – Yaron

+1

これは、@Sudheerによる解決策(デバッグのブレークポイントを解除する)を何度か手助けしました。 –

29

私は同じエラーがあり、デバッガが途中で実行のフローを停止したために発生しました。 「コンテンツスクリプト」と「バックグラウンドスクリプト」でデバッガ/ブレークポイントを削除してすべてをリロードした後、エラーは表示されませんでした。

+2

ありがとうございました:) – Sajan

+1

これは何度か、@deprog(disable-reenable)による解決策を助けました。 –

+0

は面白いと思われますが、うまく動作します。ありがとう! –

関連する問題