2012-04-11 29 views
5

Cuando veo el código fuente del correo de yahoo, veo varios archivos CSS en una etiqueta link usando un símbolo & como se muestra a continuación:Cargando múltiples archivos CSS con petición http sola

href="http://mail.yimg.com/zz/combo?kx/ucs/uh/css/271/yunivhead-min.css&kx/ucs/uh/css/221/logo-min.css&kx/ucs/avatar/css/17/avatar-min.css" 

¿Alguien sabe cómo separan cada archivo y los cargan a todos usando una única solicitud http?

+0

Para obtener más información sobre el controlador combinado, por favor vaya a [enlace] (http://developer.yahoo.com/yui/docs/YAHOO.util.YUILoader.html#property_comboBase) –

Respuesta

1

En este caso, parece haber un script que une los archivos css en una sola respuesta.

La ruta de acceso al script es http://mail.yimg.com/zz/combo. Acepta varios parámetros que contienen rutas a archivos CSS, que luego se unirán y posiblemente se minimizarán.

Si juegas un poco con la URL, se puede ver que se podía quitar los -min -prefixes de la URL y se obtiene el archivo CSS unminified a cambio: http://mail.yimg.com/zz/combo?kx/ucs/uh/css/271/yunivhead.css&kx/ucs/uh/css/221/logo.css&kx/ucs/avatar/css/17/avatar.css

Hay varios minifiers CSS en torno, por ejemplo, CSSmin. Pero como se trata de una página de Yahoo, probablemente utilicen su propio compresor CSS, YUI. Para detalles sobre cómo funciona, vea http://developer.yahoo.com/yui/compressor/#work.

+0

Gracias. Como todos señalaron que '** Combo **' es la clave, busqué en Google 'Combo y YUI' y encontré algo útil [Aquí] (http://yuiblog.com/blog/2008/07/16/combohandler/) Como lo sugirieron usted y @skotos, se utilizó el cargador YUI. –

0

Si separa la URL lo que ve es que se trata de una solicitud a algo llamado "combo" que transmite varias claves de cadena de consulta (tenga en cuenta que no hay valores) que son las rutas a algunos archivos CSS.

Estas claves se extraerán de forma estándar dado el idioma del lado del servidor que se está utilizando y el CSS de esa url analizado en una variable antes de ser devuelto en su totalidad a la respuesta.

1

No estoy familiarizado con los detalles, pero la URL parece una cadena de consulta con los archivos CSS como parámetros sin nombre.

http://mail.yimg.com/zz/combo será un servicio que carga el CSS, luego concatena y probablemente minimiza los archivos antes de devolverlos al cliente.

0

Para su proyecto yui, el desarrollo de yahoo tiene un proyecto llamado yuiloader. Aunque está diseñado principalmente para yui, el código parece que también se puede configurar para que sirva otros archivos. Esto hace más que COMBO. también resuelve dependencias. con JS y CSS. Como Yahoo es Y en YUI, esta es probablemente su base de código para mail.yimg.com. El código se puede encontrar en https://github.com/yui/phploader.

Cuestiones relacionadas