Запуск сценария содержимого на вкладках, открытых из фонового сценария

0

Вопрос

Итак, у меня есть небольшой проект, в котором у меня есть расширение, которое, когда я нажимаю на его значок, открывает некоторые вкладки, используя фоновый скрипт с определенными URL-адресами, которые я буду обновлять

chrome.browserAction.onClicked.addListener(buttonClicked)
function buttonClicked (tab){
chrome.tabs.create({
    url:"https://google.com/h",
    active : false
  },callback)

}

теперь мне нужно запустить сценарий содержимого только на этих вкладках, и я не могу понять, как это сделать .. Я пробовал несколько вещей, но, похоже, не могу этого сделать

Я новый программист, поэтому буду признателен за любые советы, даже рекомендации

google-chrome-extension javascript
2021-11-19 02:37:35
1

Лучший ответ

0

Во-первых, если вы хотите запустить скрипт контента только на определенных веб-страницах, вы можете использовать шаблоны соответствия (https://developer.chrome.com/docs/extensions/mv3/match_patterns/) в файле manifest.json для запуска сценария содержимого только по соответствующим URL-адресам. Если это не решит вашу проблему, следуйте приведенному ниже подходу:

При создании новых вкладок с помощью фонового скрипта следует добавлять пользовательские параметры запроса в URL-адрес, например:

background.js

chrome.browserAction.onClicked.addListener(buttonClicked)
function buttonClicked (tab){
chrome.tabs.create({
    url:"https://google.com/h?customAction=1",
    active : false
  },callback)

затем в сценарии содержимого вы можете определить этот параметр запроса с помощью окна.местоположение.href вот так:

content.js

if (window.location.href.indexOf('customAction=1') >= 0) {
   // Call custom function from here
   someFunction();
}
2021-11-20 14:13:53

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................