0

我有这个奇怪的问题:

content_script

函数获取文本(){
    var = 文本;
    chrome.extension.sendMessage({}, function(response){
        文本=响应数据;
    });
    返回文本;
}

如果(getText()){
    console.log('OK')
} 别的{
    console.log('不行')
}

background.js

var text = '测试';

chrome.extension.onMessage.addListener(function(request, sender, sendResponse){
    发送响应({'数据':文本});
})

在 line 上放置一个断点return text,你就可以OK进入控制台。

禁用断点,你只会得到Not OK.;

似乎是一些时间问题,比如text在返回时没有定义,除非你通过使用断点给 Chrome 一些时间。

清单.json:

{
  ...
  “权限”:[“标签”],
  “背景”: {
    “脚本”:[“js/background.js”]
  },
  “内容脚本”:[
        {
            ...
            “js”:[“js/content_script.js”],
            “run_at”:“document_end”
    }
  ],
  “清单版本”:2
}

有人可以重现这个吗?

4

0 回答 0