Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

214
Visualizações
Activar un script una cantidad definida de veces en una extensión de Chrome

Tengo una extensión que opera un script en una página específica que obtiene datos dinámicos. Por esta razón, la última línea de la ejecución del script le indica a la página que se vuelva a cargar.
La extensión de Chrome en sí no es demasiado complicada (no agregué background.js y preferiría no hacerlo), tiene prácticamente solo el script y una ventana emergente con algunos botones para activar el script para que funcione bajo algunas condiciones (es decir, modificación del usuario algunos valores en un objeto JSON, confírmelos y, usando chrome.storage.local, envíelos como una matriz de cadenas al script que lo usa para sus cálculos).

Para resumir: lo que estoy buscando es una manera de decirle a la ventana emergente que tiene que activar el script durante una cierta cantidad de tiempo (por ejemplo, 5) sin que el usuario vuelva a activar el inicio del script. Actualmente, simplemente, mi popup.js es este:
ventana emergente actual.js

 var toBeChangedByUser = //string const varAsJSON = JSON.parse(toBeChangedByUser); //function that will put varAsJSON in the chrome.local.storage function submitButton() { console.log("submit button clicked in popup"); asyncCallbackSendMessage("submitButton"); } function asyncCallbackSendMessage(messageString) { chrome.tabs.query({ active: true, currentWindow: true, }, function (arrayOfTabs) { var activeTab = arrayOfTabs[0]; var activeTabId = activeTab.id; chrome.tabs.sendMessage(activeTabId, { "message": messageString }); });

Lo único que pude pensar es usar un bucle for e intentar algo como esto:
podría funcionar popup.js?

 var toBeChangedByUser = //string const varAsJSON = JSON.parse(toBeChangedByUser); //function that will put varAsJSON in the chrome.local.storage function submitButton() { console.log("submit button clicked in popup"); var i=0; for (i; i<5; i++) { setInterval(console.log("short break"), 500); //allowing time within a click and the following one document.addEventListener('DOMContentLoaded', console.log("loop no. " + i + " starting")); //wait page full reloading before next step asyncCallbackSendMessage("submitButton"); } } function asyncCallbackSendMessage(messageString) { chrome.tabs.query({ active: true, currentWindow: true, }, function (arrayOfTabs) { var activeTab = arrayOfTabs[0]; var activeTabId = activeTab.id; chrome.tabs.sendMessage(activeTabId, { "message": messageString }); });

Intenté esto una vez y lanzó este error:
Se negó a evaluar una cadena como JavaScript porque 'unsafe-eval' no es una fuente de script permitida en la siguiente directiva de Política de seguridad de contenido: "script-src 'self' blob: filesystem:".
Sin embargo, no soy un gran fanático de establecer intervalos, por lo que me pregunto si Chrome Extensions ofrece mejores soluciones para repetir un script que, al final de su ejecución, volverá a cargar la página en la que opera.

¿Hay algo que podría hacer el truco?

about 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda