Cuando mi extensión se inicia, consulta en mi sitio un archivo xml, una vez que obtiene el archivo, se activa una simple alerta que le informa al usuario que se ha descargado el último archivo.

El problema es que, dado que el archivo tiene solo unos pocos kb, puede suceder muy rápido y la alerta espera a que se haga clic en "ok" antes de que comience a cargar el navegador.

Resolví esto poniendo la alerta en un tiempo de espera establecido de 30 segundos, lo que debería darle al navegador suficiente tiempo para cargar (así como comenzar a cargar las pestañas guardadas) antes de que aparezca la alerta.

Mi pregunta es simple: mantener el temporizador funcionando así ... ¿consume muchos recursos o afectará a máquinas más lentas o algo así? ¿Son 30 segundos demasiado largos para tener un temporizador en un complemento de Firefox?

4
Ryan 21 may. 2011 a las 07:02

3 respuestas

La mejor respuesta

Ya tiene algunas buenas respuestas con respecto al temporizador, así que centrémonos en el cuadro de diálogo de alerta en sí. Nunca debe usar un diálogo de alerta de esta manera. A los usuarios no les gustan mucho.

En su lugar, use una alerta emergente de tostadora para decirle al usuario que el archivo se ha descargado. Consulte este documento de MDC para obtener información sobre el uso del servicio de alertas emergentes:
https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIAlertsService

2
Mark Finkle 21 may. 2011 a las 05:16

Los temporizadores no son pesados en recursos, si se usan con prudencia (es decir, no gire 3000 temporizadores a intervalos de 1 ms).

Sin embargo, uno se pregunta sobre el uso de una alerta ... Esto no parece que sea lo correcto.

3
John Green 21 may. 2011 a las 03:12

El temporizador no hace nada hasta que llega el momento de disparar. Simplemente se sienta allí en la cola del temporizador. Si no hay otros temporizadores (poco probable), el hilo del temporizador ni siquiera se despertará hasta que sea hora de que se active.

2
Boris Zbarsky 21 may. 2011 a las 03:51