Javascript 当选择一个单词时,getSelection()在Chrome上返回一个空字符串

Javascript 当选择一个单词时,getSelection()在Chrome上返回一个空字符串,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在尝试做一个简单的扩展,用户可以通过点击快捷键进行字典搜索。它将打开一个新选项卡,其中包含用户所选单词的词典搜索。但是,当我尝试使用“window.getSelection()”时,它返回一个空字符串。我正在使用最新版本的Chrome浏览器 这是background2.js文件 chrome.commands.onCommand.addListener(function(command) { console.log('onCommand event received for mess

我正在尝试做一个简单的扩展,用户可以通过点击快捷键进行字典搜索。它将打开一个新选项卡,其中包含用户所选单词的词典搜索。但是,当我尝试使用“window.getSelection()”时,它返回一个空字符串。我正在使用最新版本的Chrome浏览器

这是background2.js文件

chrome.commands.onCommand.addListener(function(command) {
    console.log('onCommand event received for message: ', command);
    chrome.tabs.create({
        url: "https://jisho.org/search/" + encodeURIComponent(window.getSelection().toString()),
        active: true
    });
});
这是manifest.json文件

{
   "manifest_version": 2,
   "name": "Jisho Dictionary Search",
   "permissions": [ "contextMenus" , "tabs" ],
   "version": "1.2",
   "background": {
      "scripts": [ "background.js", "background2.js" ]
   },
   "description": "Adds a shortcut to do a Jisho search automatically",
   "browser_action": {
      "default_popup" : "browser_action.html"

   },
   "commands": {

     "toggle_feature": {
         "suggested_key": { "default": "Ctrl+X" },
         "description" : "Opens new tab with word search on Jisho"
      },
      "_execute_browser_action": {
         "suggested_key": {
            "default": "Ctrl+Shift+X"
         }
      }

   }

}

有人能帮我理解它为什么返回空字符串,以及如何让它返回用户选择的单词吗?

背景脚本在单独的隐藏背景页中运行。您需要运行并通过消息传递或executeScript的回调将其传递给后台脚本,如其他答案和示例所示。另请参见@wOxxOm谢谢,它现在可用于消息传递。背景脚本运行在单独的隐藏背景页中。您需要运行并通过消息传递或executeScript的回调将其传递给后台脚本,如其他答案和示例所示。另请参见@wOxxOm谢谢,它现在可以与消息一起使用。