Hacer que un panel persista a pesar de hacer clic en la página abierto en el navegador

StackOverflow https://stackoverflow.com/questions/9328471

  •  27-10-2019
  •  | 
  •  

Pregunta

Quiero lograr esto

  1. Anclar un panel a un widget
  2. Hazlo persistir
  3. Solo aparecerá o desaparecerá cuando se haga clic en Widget
  4. o se puede hacer desaparecer haciendo clic en algún botón. Quiero lograr esto porque mi complemento reside completamente en un panelAquí es el complemento.
¿Fue útil?

Solución

Ok, miré esto un poco más, y me gustaría disculparme por un par de cosas:

  1. iframe no funcionará debido a problemas de seguridad entre dominios. Ese fue un callejón sin salida.
  2. Tomé demasiado tiempo para contactarme, he estado de vacaciones y el lugar donde nos alojamos solo permitió 30 minutos de wifi por día, por habitación.

Una forma de abordar esto es cargar su HTML directamente desde la carpeta de datos, pasarlo al script de contenido y inyectarlo en la página. Algo como esto:

https://builder.addons.mozilla.org/addon/1043886/latest/

Algunas pautas de usabilidad para esto:

  1. El usuario debe poder eliminar fácil y obviamente el contenido inyectado de la página. Si necesita preservar el estado del contenido inyectado, deberá almacenarlo antes de eliminar los nodos DOM.
  2. La inyección probablemente solo debería ocurrir cuando el usuario realiza una acción, por ejemplo, haciendo clic en un widget. Esto debería ser al menos el valor predeterminado.
  3. Debe haber un manejo muy cuidadoso de cualquier dato que se envíe al código de complemento Main.JS desde el contenido inyectado, como de costumbre. ¡No confíe en los datos de la web!

Otros consejos

¿Te refieres a la propiedad del panel "noautohide"?

Parece que no puede acceder al objeto del panel usando el complemento SDK, por lo que puede crear su propio panel XUL para establecer noaUtoHide = true.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top