Добавить элемент кнопки в popup.html
.Затем добавьте этот код в popup.js
:
function handleClick (e) {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
chrome.tabs.executeScript(tabs[0].id,
{ code: `setInterval(function () { console.log('This event is running only at the tab with domain: ${tabs[0].url} after 1000ms') }, 1000)` })
})
}
document.addEventListener('DOMContentLoaded', function () {
const button = document.getElementById('popup-button')
button.addEventListener('click', handleClick)
});
Когда вы нажмете кнопку, этот код будет выполнен только на этой конкретной вкладке.Вы сможете увидеть это сообщение в консоли разработчика.
Код также может быть другим файлом JS, имеющимся в вашем расширении.Точно так же, как вы сделали это в своем вопросе.
Obs: chrome.tabs.query
здесь на самом деле не требуется, так как если вы выполняете chrome.tabs.executeScript
, передавая ноль в качестве параметра, он уже получает активную вкладку в текущем окне,Я также добавил разрешение вкладок, чтобы получить атрибут tabs[0].url
.В любом случае, таким образом, вы получаете больше контроля над тем, с какими вкладками вы манипулируете, когда получаете их атрибуты tabId и url.