Entonces, tengo un pequeño proyecto donde tengo una extensión que cuando presiono su ícono abre algunas pestañas usando un script de fondo con ciertas URL que actualizaré
chrome.browserAction.onClicked.addListener(buttonClicked) function buttonClicked (tab){ chrome.tabs.create({ url:"https://google.com/h", active : false },callback)}
ahora necesito ejecutar un script de contenido solo en esas pestañas y no puedo entender cómo... He intentado varias cosas pero parece que no puedo hacerlo
Soy un programador nuevo, por lo que agradecería cualquier consejo sobre pautas.
Lo primero es lo primero, si desea ejecutar secuencias de comandos de contenido en ciertas páginas web solo, puede usar Patrones de coincidencia ( https://developer.chrome.com/docs/extensions/mv3/match_patterns/ ) en el archivo manifest.json para ejecutar script de contenido solo en URL coincidentes. Si eso no resuelve su problema, siga el siguiente enfoque:
Cuando crea nuevas pestañas utilizando un script de fondo , debe agregar parámetros de consulta personalizados en la URL, por ejemplo:
fondo.js
chrome.browserAction.onClicked.addListener(buttonClicked) function buttonClicked (tab){ chrome.tabs.create({ url:"https://google.com/h?customAction=1", active : false },callback)luego, en el script de contenido, puede identificar este parámetro de consulta usando window.location.href de esta manera:
contenido.js
if (window.location.href.indexOf('customAction=1') >= 0) { // Call custom function from here someFunction(); }