私はこの奇妙な問題を抱えています:
オン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
}
誰かがこれを再現できますか?