0

私はこの奇妙な問題を抱えています:

オン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 textOK

ブレークポイントを無効にすると、Not OK.;のみが得られます。

textブレークポイントを使用してChromeに時間を与えない限り、復帰時に定義されていないなど、タイミングの問題のようです。

マニフェスト.json:

{
  ...
  "パーミッション": ["タブ"],
  "バックグラウンド": {
    "スクリプト": ["js/background.js"]
  }、
  "content_scripts": [
        {
            ...
            "js": [ "js/content_script.js"],
            "run_at": "document_end"
    }
  ]、
  "manifest_version": 2
}

誰かがこれを再現できますか?

4

0 に答える 0