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

91
Views
chrome.downloads.download no funciona desde el trabajador de servicio en segundo plano

Estoy tratando de crear una extensión de Chrome que analice el contenido de la página cuando se haga clic en el botón de la barra de herramientas y luego guarde (es decir, descargue) los resultados en la máquina del usuario. Puedo hacer que el análisis funcione cuando se hace clic en el botón, pero no puedo hacer que active la descarga.

Esta es la primera vez que escribo una extensión de Chrome, por lo que agradecería cualquier ayuda para averiguar por qué no funciona.

manifiesto.json

 { ... "permissions": [ "activeTab", "downloads", "scripting" ], "background": { "service_worker": "background.js" } }

fondo.js

 chrome.action.onClicked.addListener((tab) => { chrome.scripting.executeScript({ target: {tabId: tab.id}, files: ['analysis.js'] }); }); chrome.runtime.onMessage.addListener((arg, sender, reply) => { chrome.downloads.download({ url: 'data:text/plain,' + arg.text, filename: arg.name, saveAs: true }) });

análisis.js

 // Do some analysis here chrome.runtime.sendMessage({name: "results.txt", text: "ANALYSIS RESULTS HERE"});

Cuando hago clic en el botón de la barra de herramientas, el análisis se ejecuta pero no aparece el cuadro de diálogo Guardar ni aparece ningún archivo en el disco. ¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

No estoy seguro si resolvió esto todavía o si esta solución resuelve su problema, pero acabo de descubrir que la API de descarga solo funciona para mí si tengo "Preguntar dónde guardar cada archivo antes de descargar" sin marcar en la configuración general de Chrome. Mi solución para esto (y creo que es solo con Manifest v3) es forzar la descarga usando una etiqueta de anclaje en la pestaña activa:

 const anchor = document.createElement('a'); anchor.href = filedata; anchor.download = filename; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor);
about 4 years ago · Juan Pablo Isaza Report

0

Esto parece ser un error en Chrome manifest V3. Consulte a continuación para obtener más información.
TL&DL, chrome.downloads.download estaba y sigue estando (a partir de mayo de 2022) completamente roto en el manifiesto V3. En el manifiesto V2, parece funcionar.

--
Problema 1246717: chrome.downloads.download nunca se inicia, pero no hay errores

chrome.downloads.download nunca se inicia, pero no hay errores

https://bugs.chromium.org/p/chromium/issues/detail?id=1246717&

about 4 years ago · Juan Pablo Isaza Report
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!