Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
extensión de Chrome: solicitud web espera llamada asíncrona antes de bloquear

En el manifiesto v2, intento obligar al oyente onBeforeRequest a esperar una llamada asíncrona antes de la evaluación de una condición de prueba que decide si bloquear la solicitud o dejarla pasar.

La documentación y los temas con los que me encontré parecen contradictorios, algunos dicen que esta función no es compatible con webRequest, mientras que otros sugieren que podría haber soluciones alternativas.

El más prometedor que encontré hasta ahora, pero desafortunadamente no funcionó del todo en mi caso, vino de esta publicación: Usar llamadas asincrónicas en un controlador webRequest de bloqueo

¿Hay alguna idea posible para eludir este problema?

 chrome.webRequest.onBeforeRequest.addListener( function() { chrome.tabs.query({active:true,windowType:"normal", currentWindow: true},function(tab){ for(const [key, value] of Object.entries(inputMaps[tab[0].id][Object.keys(inputMaps[tab[0].id])[0]])){ chrome.tabs.query({active: true, currentWindow: true}, function(tabs){ // Async call to content_script will update the testMap[curTabId] chrome.tabs.sendMessage(tabs[0].id, { text: "aadAuth", usr: Object.keys(inputMaps[tabs[0].id])[0], pass: value }) }); } }); // Need to make sure this executes after the reception of async call response // Impossible to block the request from within the async response callback method. if(testMap[curTabId]){ return {cancel: true}; }else{ return {} } }, {urls: ["<all_urls>"]}, ["blocking"] );

Extracto del manifiesto:

 { "manifest_version": 2, "background": { "service_worker": "background.js" }, "permissions": [ "storage", "activeTab", "tabs", "webRequest", "webRequestBlocking", "<all_urls>" ], "browser_action": { "default_popup": "popup.html", } }
about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda