Javascript 当选择一个单词时,getSelection()在Chrome上返回一个空字符串
我正在尝试做一个简单的扩展,用户可以通过点击快捷键进行字典搜索。它将打开一个新选项卡,其中包含用户所选单词的词典搜索。但是,当我尝试使用“window.getSelection()”时,它返回一个空字符串。我正在使用最新版本的Chrome浏览器 这是background2.js文件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
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谢谢,它现在可以与消息一起使用。