私はこの奇妙な問題を抱えています:
オンcontent_script
:
関数 getText(){ var = テキスト; chrome.extension.sendMessage({}, 関数(応答){ テキスト = 応答.データ; }); テキストを返します。 } if (getText()) { console.log('OK') } そうしないと{ console.log('Not OK') }
オンbackground.js
:
var text = 'テスト'; chrome.extension.onMessage.addListener(関数(リクエスト、送信者、sendResponse){ sendResponse( { 'データ': テキスト } ); }))
ブレークポイントをオンラインに置くと、コンソールが表示されますreturn text
。OK
ブレークポイントを無効にすると、Not OK
.;のみが得られます。
text
ブレークポイントを使用してChromeに時間を与えない限り、復帰時に定義されていないなど、タイミングの問題のようです。
マニフェスト.json:
{ ... "パーミッション": ["タブ"], "バックグラウンド": { "スクリプト": ["js/background.js"] }、 "content_scripts": [ { ... "js": [ "js/content_script.js"], "run_at": "document_end" } ]、 "manifest_version": 2 }
誰かがこれを再現できますか?