Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
WebExtension: al usar webrequest para enviar mi contenido a una URL coincidente, ¿webRequest.StreamFilter.onstart es el camino a seguir?

Quiero escribir una extensión web que envíe contenido json falso al acceder a cualquier URL que coincida con un patrón.
Empecé con el documento de MSDN.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/ondata

el código es bastante sencillo

 function listener(details) { let filter = browser.webRequest.filterResponseData(details.requestId); let decoder = new TextDecoder("utf-8"); let encoder = new TextEncoder(); filter.ondata = event => { let str = decoder.decode(event.data, {stream: true}); // Just change any instance of Example in the HTTP response // to WebExtension Example. str = str.replace(/Example/g, 'WebExtension Example'); filter.write(encoder.encode(str)); filter.disconnect(); } } browser.webRequest.onBeforeRequest.addListener( listener, {urls: ["https://example.com/*"], types: ["main_frame"]}, ["blocking"] );

Pero esto no es lo que.
No quiero (esperar entonces) alterar el contenido. Quiero impulsar mi contenido de inmediato.

Así que cambié el oyente por

 filter.onstart = event => { var url = event. ??? if (url.indexOf("any string I'd like to look for")) { filter.write(encoder.encode("some text to display")); filter.close(); } else // I'm not interested in you, just process as usual { filter.disconnect() } }

Mi objetivo es capturar cualquier URL, buscar un patrón en ella y mostrar mi contenido si coincide.
¿Está buscando onstart la forma correcta de hacerlo?

  • En caso afirmativo, encontré extraño que buscar en Google no devuelve más ejemplos y no puedo encontrar el documento para el evento que ocurre para el inicio.
    ¿Cómo se llama este evento? ¿Dónde puedo encontrar el documento (y los eventos que ocurrieron en los datos al cerrar...)?

  • Si no,
    cuál será la forma correcta para que una extensión web intercepte una solicitud de página para enviar (o no) su contenido.

¿Funcionará mi idea de sustitución de página si estoy usando Ajax/fetch para obtenerla?
¿Podré configurar el tipo MIME también? (Quiero enviar contenido json)

about 4 years ago · Santiago Gelvez
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!