2012-04-11 20 views
5

Quando osservo il codice sorgente di Yahoo Mail, vedo più file CSS in un tag link utilizzando un simbolo & come illustrato di seguito:Caricamento più file CSS con singola richiesta HTTP

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" 

Qualcuno sa, come separano ciascun file e li caricano tutti utilizzando un'unica richiesta http?

+0

Per ulteriori dettagli sul gestore combo, pls Vai a [collegamento] (http://developer.yahoo.com/yui/docs/YAHOO.util.YUILoader.html#property_comboBase) –

risposta

1

In questo caso, sembra esserci uno script che unisce i file css in un'unica risposta.

Il percorso per lo script è http://mail.yimg.com/zz/combo. Accetta vari parametri contenenti percorsi ai file CSS, che verranno poi uniti e eventualmente ridotti.

Se si gioca in giro con l'URL, si può vedere che è possibile rimuovere i -min -Prefixes dall'URL e si ottiene il file CSS unminified in 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

Ci sono diversi minifiers CSS in giro, per esempio CSSmin. Ma dato che questa è una pagina di Yahoo, probabilmente usano il proprio compressore CSS, YUI. Per dettagli su come funziona, vedere http://developer.yahoo.com/yui/compressor/#work.

+0

Grazie. Come tutti hanno sottolineato che "** Combo **" è la chiave, ho cercato su Google "Combo e YUI" e ho trovato qualcosa di utile [Qui] (http://yuiblog.com/blog/2008/07/16/combohandler/). Come suggerito da te e @skotos, è stato utilizzato il caricatore YUI. –

0

Se si separa l'URL, ciò che si vede è che si tratta di una richiesta a qualcosa chiamata "combo" che passa in varie chiavi di querystring (nota che non ci sono valori) che sono i percorsi di alcuni file CSS.

Queste chiavi verranno quindi estratte nel modo standard dato il linguaggio lato server utilizzato e il CSS per quell'URL analizzato in una variabile prima di essere restituito nella sua interezza alla risposta.

1

Non ha familiarità con le specifiche, ma l'URL sembra una stringa di query con i file CSS come parametri senza nome.

http://mail.yimg.com/zz/combo sarà un servizio che carica il CSS, quindi concatena e probabilmente riduce i file prima di restituirli al client.

0

Per il loro progetto yui, lo sviluppo di yahoo ha un progetto chiamato yuiloader. Sebbene sia progettato principalmente per yui, sembra che il codice possa essere impostato per servire anche altri file. Questo fa più di COMBO. risolve anche dipendenze. con JS e CSS. Dato che Yahoo è la Y in YUI, questa è probabilmente la loro base di codice per mail.yimg.com. Il codice può essere trovato su https://github.com/yui/phploader.

Problemi correlati