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

135
Vistas
Mantener el objeto FileSystemDirectoryHandle en Chrome Extension

Estoy trabajando en la extensión de Chrome. Dentro de la ventana emergente puedo ejecutar window.showDirectoryPicker() , que devuelve un objeto de tipo FileSystemDirectoryHandle .

Mi problema es que después de cambiar la pestaña en el navegador, la ventana emergente se cierra automáticamente, por lo que el objeto se destruye.

Mi pregunta es: ¿hay alguna forma de pasar este objeto a cualquier otro contexto (por ejemplo, a ServiceWorker u otra ventana)?

O si no es posible, ¿hay alguna forma de invocar window.showDirectoryPicker() dentro del ServiceWorker de la extensión?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

  • Envíe el identificador a través de la mensajería del trabajador de servicio estándar desde una página de extensión:

     (async () => { const handle = await window.showDirectoryPicker(); const swr = await navigator.serviceWorker.ready; swr.active.postMessage(handle); })();

    En el trabajador del servicio, use self.onmessage = e => { console.log(e) };
    Tenga en cuenta que se imprimirá en las herramientas de desarrollo de fondo.

  • Copie de una página de extensión a otra página de extensión que esté actualmente abierta a través de getViews :

     chrome.tabs.create({url: 'another.html'}, async tab => { await new Promise(resolve => { chrome.tabs.onUpdated.addListener(function onUpdated(tabId) { if (tabId === tab.id) { chrome.tabs.onUpdated.removeListener(onUpdated); resolve(); } }); }); const wnd = chrome.extension.getViews({tabId: tab.id})[0]; wnd._handle = handle; // `another` page will see a global variable `window._handle` });
  • Envíe a través de BroadcastChannel dentro de las páginas de extensión o el trabajador del servicio.

  • Guárdelo en IndexedDB y reutilícelo en el futuro.

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