私のコンテンツ スクリプトは、background.js にメッセージを送信します。応答のコールバック ハンドラーでは、最後の行を"alert(alrt_msg)"
. コードを実行すると警告ボックスが表示されますが、[OK] をクリックすると、Chrome コンソールに次のように赤で表示されます。
Error in event handler for 'undefined': Cannot call method 'disconnect' of null TypeError: Cannot call method 'disconnect' of null
at chromeHidden.Port.sendMessageImpl (miscellaneous_bindings:285:14)
at chrome.Event.dispatch (event_bindings:237:41)
at Object.chromeHidden.Port.dispatchOnMessage (miscellaneous_bindings:250:22)
あまり有益ではありませんが、直観的に、このエラーは、ユーザーが「OK」をクリックしている間にどこかの構造がガベージコレクションされていることが原因であることがわかりました。だから私は自分のコードを
window.setTimeout(function() { alert(alrt_msg); } , 1);
これにより、上記のエラーなしで機能しました。それでも、ドキュメントやグーグルを検索した後、この背後にある正確な理由を見つけることができませんでした. 誰かが何が起こっているのか、ドキュメントにこれを行うための特定の方法が含まれているかどうかを説明できますか?