From 4c9408f79ed6ccf2b81c4cfaf73cb34cf4d25eb4 Mon Sep 17 00:00:00 2001
From: Peter Bengtsson Este artículo ofrece información que será de utilidad para desarrolladores que deseen actualizar sus extensiones, para que éstas funcionen correctamente con Firefox 3.XMLHttpRequest
XMLHttpRequest
síncrono mejoradoXMLHttpRequest
síncrono.XMLHttpRequest
síncrono.
- Antes de continuar, queremos sugerirte algo: si el único cambio que requiere tu extensión es modificar el campo maxVersion en el manifiesto de instalación, la extensión está disponible en el servidor addons.mozilla.org y ¡no necesitarás actualizar tu extensión a una nueva versión! Simplemente usa el Panel de Control para desarrolladores en AMO para modificar maxVersion
. De esta manera, puedes evitar el trabajo de tener que volver a revisar tu extensión.maxVersion
. De esta manera, puedes evitar el trabajo de tener que volver a revisar tu extensión.
@@ -50,7 +50,7 @@ original_slug: Actualizar_extensiones_para_Firefox_3
Los nodos de documentos externos deberán copiarse idénticamente usando importNode()
(o adoptarlos usando adoptNode()
) antes de poder insertarlos en el documento actual. Para más información acerca de cuestiones relacionadas con ownerDocument
, visita W3C DOM FAQ.
Los nodos de documentos externos deberán copiarse idénticamente usando importNode()
(o adoptarlos usando adoptNode()
) antes de poder insertarlos en el documento actual. Para más información acerca de cuestiones relacionadas con ownerDocument
, visita W3C DOM FAQ.
Actualmente, Firefox no exige hacerlo aunque sí lo hizo durante algún tiempo, durante el desarrollo de Firefox 3. Lo que ocurrió fue que muchos sitios sufrían averías cuando esta política era obligatoria. Nuestra recomendación para los desarrolladores web es que corrijan su código para cumplir con esta regla y así lograr una mejor compatibilidad a futuro.
@@ -145,18 +145,18 @@ original_slug: Actualizar_extensiones_para_Firefox_3chrome://browser/base/utilityOverlay.js
. Si lo estabas usando, deberás cambiarlo por chrome://browser/content/utilityOverlay.js
.nsIAboutModule
ahora debes incluir el método getURIFlags
. Visita nsIAboutModule.idl para consultar la documentación. Esto afecta a las extensiones que brinden nuevas URIs del tipo about:
. ( bug 337746 )nsIAboutModule
ahora debes incluir el método getURIFlags
. Visita nsIAboutModule.idl para consultar la documentación. Esto afecta a las extensiones que brinden nuevas URIs del tipo about:
. ( bug 337746 )<?xml-stylesheet ?>
en tus archivos XUL, ten en cuenta los cambios descriptos en el bug 319654 :
+ <?xml-stylesheet ?>
en tus archivos XUL, ten en cuenta los cambios descriptos en el bug 319654 :
document.firstChild
sea el elemento raíz. Si necesitas hacer referencia al documento raíz en tu script, usa document.documentElement
en su lugar.<?xml-stylesheet ?>
y <?xul-overlay ?>
ahora no tienen efecto fuera del prólogo del documento.window.addEventListener("load", myFunc, true)
. Esto ocurre debido a que el bug 296639 cambia la forma de comunicación entre las ventanas internas y externas. Para corregir esto en forma sencilla, emplea gBrowser.addEventListener("load", myFunc, true)
, según se describe aquí. Además, funciona también para Firefox 2.window.addEventListener("load", myFunc, true)
. Esto ocurre debido a que el bug 296639 cambia la forma de comunicación entre las ventanas internas y externas. Para corregir esto en forma sencilla, emplea gBrowser.addEventListener("load", myFunc, true)
, según se describe aquí. Además, funciona también para Firefox 2.content.window.getSelection()
ofrece un objeto (que puede ser convertido en cadena con toString()
). Se desaconseja el uso de content.document.getSelection()
que devuelve una cadena.event.preventBubble()
y actualmente, ha desaparecido en Firefox 3. En su lugar, usa event.stopPropagation()
, que también funciona en Firefox 2.setTimeout()
ahora están bloqueados por las ventanas en modo 'modal' gracias a la corrección hecha en el bug 52209 . En su lugar, podrías usar nsITimer
.setTimeout()
ahora están bloqueados por las ventanas en modo 'modal' gracias a la corrección hecha en el bug 52209 . En su lugar, podrías usar nsITimer
.contentaccessible
flag.