VV
chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
chrome.tabs.sendMessage(tabs[0].id, {
command: "blablabla"
});
});
Плагин работает следующим образом: когда я открываю окно плагина popup.html и нажимаю в нем на кнопку, то открывается одна новая вкладка с кое-какой инфой. Но, если я до нажатия на кнопку в окне плагина открою и закрою окно плагина несколько раз, то после нажатия на кнопку откроется несколько одинаковых вкладок (по количеству открытий и закрытий окна плагина).
Связь между popup - скриптом и end.js следующая: когда нажимаю на кнопку, то запускает скрипт окна браузера background.js и отправляет команду в файл end.js при помощи события:
chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
chrome.tabs.sendMessage(tabs[0].id, {
command: "blablabla"
});
});
В свою очередь, end.js принимает команду и запускает функцию при помощи события:
const getMessage = (message) =>
{
transferCoordinate(message);
}
chrome.runtime.onMessage.addListener(getMessage);
const transferCoordinate = (message) =>
{
chrome.runtime.onMessage.removeListener(getMessage);
if (message.command === "blablabla") {
vkladka = "";
openvkladka(vkladka);
}
Мой файл манифест на всякий случай:
{
"manifest_version": 2,
"name": "dfg",
"version": "1.0.0.4",
"background": {
"scripts": [
"content_scripts/background.js"
],
"persistent": false
},
"browser_action": {
"default_icon": "img/icon.png",
"default_title": "dfg",
"default_popup": "html/popup.html"
},
"permissions": [
"tabs","https://www.google.com/*","https://www.google.ru/*"
]
}