Chrome 拡張機能に奇妙な問題があります。ポップアップ ページをデータベース関連で埋めたいと思っています。したがって、background.html で DB への接続を作成しました。DB の回答はポップアップに表示されるはずなので、chrome.extension.sendRequest メソッドを使用することにしました。(これがそのアーキテクチャの良いアイデアであることを願っていますか?)
これはセットアップです:
POPUP.js
:
chrome.extension.sendRequest({greeting: "hello"}, function(response) {
alert("out"); console.log(response);
if(response == null){
alert("No response. :( and the error was "+chrome.extension.lastError.message);
}
});
Background.html
:
chrome.extension.onRequest.addListener( function(request, sender, sendResponse) {
alert("inside");
sendResponse({farewell: "goodbye"});
});
何が起こるか:alert("inside")
火災が発生したので、ポップアップからバックグラウンドまでの通信は問題ないことがわかりました。しかし、今では答えはありません!
また興味深い: 開発者ツール モード (チェック ポップアップ) で同じものを実行すると、すべて正常に動作します!