mozilla

Revision 194387 of La URL chrome

  • Enlace amigable (slug) de la revisión: Tutorial_de_XUL/La_URL_chrome
  • Título de la revisión: La URL chrome
  • Id de la revisión: 194387
  • Creada:
  • Creador: Aztkgeek
  • ¿Es la revisión actual? No
  • Comentario /* La URL Chrome */

Contenido de la revisión

{{template.AnteriorSiguiente("Tutorial_de_XUL:Introducción", "Tutorial_de_XUL:Archivos Manifest")}}


{{wiki.template('Traducción', [ "inglés", "XUL_Tutorial:The_Chrome_URL", "en" ])}}

La siguiente sección describe como referirse a los documentos XUL y otros archivos chrome.

La URL Chrome

Los archivos XUL pueden ser accesados con una URL HTTP común, igual que los archivos HTML. Sin embargo, los paquetes que se instalan dentro del sistema chrome de Mozilla pueden ser referidos con un URL chrome especial. Los paquetes incluidos con Mozilla ya se encuentran instalados, pero tu puedes registrar los tuyos.

Los paquetes instalados tienen la ventaja de que no tienen restricciones de seguridad establecidos, que es necesario para muchas aplicaciones. Otra ventaja sobre otro tipo de URL es de que maneja automáticamente multiples temas e idiomas. Por ejemplo, una URL chrome te permite referirte a un archivo del tema como una imagen, sin necesidad de saber cual tema es el que el usuario esta usando. Siempre y cuando los nombre de los archivos sean iguales en cada tema, tu puedes referirte a ellos usando una URL chrome. Mozilla tomará cuidado en determinar donde se encuentran los archivos para regresar los datos correctos. Esto significa que realmente no importa donde se encuentre instalado el paquete para poder acceder a el. Las URL chorome son independientes de donde se encuentre instalados fisicamente los archivos. Esto hace más facil escribir aplicaciones que tienen muchos archivos donde no te tienes que preocupar por el detalle de donde se encuentre localizados los archivos.

La sintaxis básica de una URL chrome es la siguiente

chrome://<nombre del paquete>/<parte>/<archivo.xul>

El texto <nombre del paquete> es el nombre del paquete, como lo puede ser un mensajero (IM) o un editor. La <parte> es normalmente 'content' o 'skin' o 'locale', depende la parte que quieras. <archivo.xul> es simplemente el nombre del archivo.

Ejemplo: chrome://messenger/content/messenger.xul

El ejemplo de aquí se refiere a la ventana messenger. Tu puedes apuntar a un archivo que es parte del skin reemplazando 'content' con 'skin' y cambiando el nombre del archivo. Similarmente tu puedes apuntar a un archivo que es parte de locale usando 'locale' en lugar de 'content'.

Cuando tu abres una URL chrome, Mozilla echa un vistazo a través de su lista de paquetes instalados e intenta localizar el archivo JAR o el directorio que concuerde con el nombre del paquete y la parte. El mapeado entre las URL chrome y los archivos JAR se especifica en el archivo de manifiesto almacenado en el directorio chrome. If you were to move the file messenger.jar somewhere else and update the manifest file accordingly, Thunderbird will still work since it doesn't rely on its specific installed location. Usando URLs chrome podemos permitirle detalles como este a Mozilla. Similarmente, si el usuario cambia su tema, la parte 'skin' de la URL chrome se convierte a una diferente colección de archivos, sin que se tengan que hacer cambios en el XUL y en los scripts.

Aquí hay otros ejemplos. Nota como ninguna de las URLs de tema o locale establecen especificamente algun directorio.

chrome://messenger/content/messenger.xul
chrome://messenger/content/attach.js
chrome://messenger/skin/icons/folder-inbox.gif
chrome://messenger/locale/messenger.dtd

Para referirse a algun subdirectorio, tu puedes solo agregarlo al final de la URL chrome. Las siguientes URLs se refieren a la ventana de favoritos (bookmarks), presta atención que en ambas se refieren al mismo archivo, pero varía de paquete ya que uno es para la Suite de Mozilla y la otra se usa en Firefox

chrome://communicator/content/bookmarks/bookmarksManager.xul (Mozilla)
chrome://browser/content/bookmarks/bookmarksManager.xul (Firefox)

Tu puedes usar las URLs chrome en cualquier lugar donde se usan las URLs comunes. Incluso puedes ingresarlas directamente en la barra de dirección (URL) de la ventana del navegador de Mozilla. Si ingresas una de las URL de arriba en la barra de direccion, deberás ver una ventana que aparece donde normalmente iría una pagina web y que en su mayoría es tan funcional como si fuera una ventana separada. Algunas cajas de dialogo pueden que no trabajen bien, sin embargo, estará en la espera de que se le proveen argumentos de la ventana que la abre.

En ocaciones veras URLs chrome sin el nombre de un archivo especificado, por ejemplo:

chrome://browser/content/

En este caso, solo el nombre del paquete y la parte son especificados. Este tipo de referencia selecciona automáticamente un archivo apropiado del directorio correspondiente. Para contenido, se selecciona un archivo con el mismo nombre del paquete y con la extension xul. En el ejemplo de arriba, el archivo browser.xul es el que se selecciona. Para messenger, el arhivo seleccionado sería messenger.xul. Cuando creas tus propias aplicaciones, tu deberías crear un archivo con la ventana principal usando el mismo nombre de tu aplicación, así podrás referirte a ella de una manera más practica y corta. Esta es una practica común para que los usuarios solo necesitan saber el nombre del paquete para ejecutar la aplicación. Por supuesto, para una extensión que modifica la interfase del navegador, el usuario no necesitar saber la URL ya que la extensión se presenta ella misma en la interfase gráfica.

For a skin, the file <package name>.css is selected; for a locale, the file <package name>.dtd is selected.

Remember, the chrome URL is not related to where it is located on disk. The first two pieces of the chrome URL are the package name and the part (either content, skin, or locale). While it is common to put the content files in a directory called 'content', this is purely out of convention, and these files may be placed in an entirely different structure.

In the next section, we will look at how to create .manifest files and packages.

Fuente de la revisión

<p> 
{{template.AnteriorSiguiente("Tutorial_de_XUL:Introducción", "Tutorial_de_XUL:Archivos Manifest")}}
</p><p><br>
</p><p>{{wiki.template('Traducción', [ "inglés", "XUL_Tutorial:The_Chrome_URL", "en" ])}}
</p><p>La siguiente sección describe como referirse a los documentos XUL y otros archivos chrome.
</p>
<h3 name="La_URL_Chrome"> La URL Chrome </h3>
<p>Los archivos XUL pueden ser accesados con una URL HTTP común, igual que los archivos HTML. Sin embargo, los paquetes que se instalan dentro del sistema chrome de Mozilla pueden ser referidos con un URL chrome especial. Los paquetes incluidos con Mozilla ya se encuentran instalados, pero tu puedes registrar los tuyos.
</p><p>Los paquetes instalados tienen la ventaja de que no tienen restricciones de seguridad establecidos, que es necesario para muchas aplicaciones. Otra ventaja sobre otro tipo de URL es de que maneja automáticamente multiples temas e idiomas. Por ejemplo, una URL chrome te permite referirte a un archivo del tema como una imagen, sin necesidad de saber cual tema es el que el usuario esta usando. Siempre y cuando los nombre de los archivos sean iguales en cada tema, tu puedes referirte a ellos usando una URL chrome. Mozilla tomará cuidado en determinar donde se encuentran los archivos para regresar los datos correctos. Esto significa que realmente no importa donde se encuentre instalado el paquete para poder acceder a el. Las URL chorome son independientes de donde se encuentre instalados fisicamente los archivos. Esto hace más facil escribir aplicaciones que tienen muchos archivos donde no te tienes que preocupar por el detalle de donde se encuentre localizados los archivos.
</p><p>La sintaxis básica de una URL chrome es la siguiente
</p>
<pre>chrome://&lt;nombre del paquete&gt;/&lt;parte&gt;/&lt;archivo.xul&gt;
</pre>
<p>El texto &lt;nombre del paquete&gt; es el nombre del paquete, como lo puede ser un mensajero (IM) o un editor. La &lt;parte&gt; es normalmente 'content' o 'skin' o 'locale', depende la parte que quieras. &lt;archivo.xul&gt; es simplemente el nombre del archivo.
</p><p><b>Ejemplo</b>: chrome://messenger/content/messenger.xul
</p><p>El ejemplo de aquí se refiere a la ventana messenger. Tu puedes apuntar a un archivo que es parte del skin reemplazando 'content' con 'skin' y cambiando el nombre del archivo. Similarmente tu puedes apuntar a un archivo que es parte de locale usando 'locale' en lugar de 'content'.
</p><p>Cuando tu abres una URL chrome, Mozilla echa un vistazo a través de su lista de paquetes instalados e intenta localizar el archivo JAR o el directorio que concuerde con el nombre del paquete y la parte. El mapeado entre las URL chrome y los archivos JAR se especifica en el archivo de manifiesto almacenado en el directorio chrome. If you were to move the file messenger.jar somewhere else and update the manifest file accordingly, Thunderbird will still work since it doesn't rely on its specific installed location. Usando URLs chrome podemos permitirle detalles como este a Mozilla. Similarmente, si el usuario cambia su tema, la parte 'skin' de la URL chrome se convierte a una diferente colección de archivos, sin que se tengan que hacer cambios en el XUL y en los scripts.
</p><p>Aquí hay otros ejemplos. Nota como ninguna de las URLs de tema o locale establecen especificamente algun directorio.
</p>
<pre>chrome://messenger/content/messenger.xul
chrome://messenger/content/attach.js
chrome://messenger/skin/icons/folder-inbox.gif
chrome://messenger/locale/messenger.dtd
</pre>
<p>Para referirse a algun subdirectorio, tu puedes solo agregarlo al final de la URL chrome. Las siguientes URLs se refieren a la ventana de favoritos (bookmarks), presta atención que en ambas se refieren al mismo archivo, pero varía de paquete ya que uno es para la Suite de Mozilla y la otra se usa en Firefox
</p>
<pre>chrome://communicator/content/bookmarks/bookmarksManager.xul (Mozilla)
chrome://browser/content/bookmarks/bookmarksManager.xul (Firefox)
</pre>
<p>Tu puedes usar las URLs chrome en cualquier lugar donde se usan las URLs comunes. Incluso puedes ingresarlas directamente en la barra de dirección (URL) de la ventana del navegador de Mozilla. Si ingresas una de las URL de arriba en la barra de direccion, deberás ver una ventana que aparece donde normalmente iría una pagina web y que en su mayoría es tan funcional como si fuera una ventana separada. Algunas cajas de dialogo pueden que no trabajen bien, sin embargo, estará en la espera de que se le proveen argumentos de la ventana que la abre.
</p><p>En ocaciones veras URLs chrome sin el nombre de un archivo especificado, por ejemplo:
</p>
<pre>chrome://browser/content/
</pre>
<p>En este caso, solo el nombre del paquete y la parte son especificados. Este tipo de referencia selecciona automáticamente un archivo apropiado del directorio correspondiente. Para contenido, se selecciona un archivo con el mismo nombre del paquete y con la extension xul. En el ejemplo de arriba, el archivo browser.xul es el que se selecciona. Para messenger, el arhivo seleccionado sería messenger.xul. Cuando creas tus propias aplicaciones, tu deberías crear un archivo con la ventana principal usando el mismo nombre de tu aplicación, así podrás referirte a ella de una manera más practica y corta. Esta es una practica común para que los usuarios solo necesitan saber el nombre del paquete para ejecutar la aplicación. Por supuesto, para una extensión que modifica la interfase del navegador, el usuario no necesitar saber la URL ya que la extensión se presenta ella misma en la interfase gráfica.
</p><p>For a skin, the file &lt;package name&gt;.css is selected; for a locale, the file &lt;package name&gt;.dtd is selected.
</p><p>Remember, the chrome URL is not related to where it is located on disk. The first two pieces of the chrome URL are the package name and the part (either content, skin, or locale). While it is common to put the content files in a directory called 'content', this is purely out of convention, and these files may be placed in an entirely different structure.
</p><p>In the next section, we will look at how to create .manifest files and packages.
</p>
Revertir a esta revisión