Я знаю, что есть похожие вопросы, и я попробовал почти все в них. Я пытаюсь создать расширение chrome, и оно должно передать сообщение из контента. js в фон. js.
Код:
background. js
var xstext;
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
xstext=request.stext;
});
var wtf = "https://www.google.com/search?q="+xstext;
chrome.commands.onCommand.addListener(function(command) {
if(command=="ntab"){
chrome.tabs.create({ url: wtf});
}
});
содержание. js
var text = window.getSelection();
var stext=text.toString();
chrome.runtime.sendMessage({stext: stext});
манифест. json
"manifest_version": 2,
"name": "vind",
"version": "1.0",
"description": "Search stuff easily!",
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"content_scripts": [
{
"all_frames": true,
"run_at": "document_start",
"matches": [
"<all_urls>"
],
"js": ["content.js"]
}
],
"browser_action": {
"default_icon": {
"16": "images/icon16.png",
"32": "images/icon32.png"
},
"default_popup": "popup.html"
},
"commands": {
"ntab": {
"suggested_key": {
"default": "Alt+G",
"windows": "Alt+G",
"mac": "Alt+G",
"chromeos": "Alt+G",
"linux": "Alt+G"
},
"description": "New tab for the query"
}
}
}
Я хочу передать выбранный текст из содержимого. js к фону. js, я попытался добавить return: true; в слушателе безрезультатно. Я добавляю «undefined» в основную строку, так что, кажется, ничего не пропущено. что мне делать?