Я хочу открыть новое окно для внешнего URL и запустить скрипт в этом окне при нажатии кнопки в моем расширении chrome.
Когда я использую URL на моей машине, например, http://localhost: 8000 Я могу увидеть тест console.log в новом окне. Однако, когда я использую URL для внешнего сайта, такого как http://google.com, я не вижу console.log. Вместо этого я получаю эту ошибку в своем расширении: «Unchecked runtime.lastError: вкладка была закрыта.».
Есть что-то, что мне не хватает?
Я считаю, что правильно установил свои разрешения, но я перечислил свой файл манифеста. json и js для кнопки ниже.
// manifest.json
{
"name": "Automate Verifying Kangaroo Changes",
"version": "1.0",
"description": "Opens kangaroo along with llama configs in TST, STG, and PROD environments",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"page_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/get_started16.png",
"32": "images/get_started32.png",
"48": "images/get_started48.png",
"128": "images/get_started128.png"
}
},
"icons": {
"16": "images/get_started16.png",
"32": "images/get_started32.png",
"48": "images/get_started48.png",
"128": "images/get_started128.png"
},
"options_page": "options.html",
"permissions": [
"cookies",
"activeTab",
"declarativeContent",
"storage",
"https://*/*",
"http://*/*",
"<all_urls>"
],
"manifest_version": 2
}
//popup.js
const WindowButton = document.querySelector('#WindowButton');
WindowButton.onclick = (e) => {
const createData = {
url: 'http://google.com',
}
chrome.windows.create(createData, (window) => {
alert(window)
chrome.tabs.query({
windowId: window.id
}, (tabs) => {
const code = 'console.log("This should appear in the new window console")'
chrome.tabs.executeScript(
tabs[0].id,
{ code }
);
})
})
}