2010-02-05 14 views
5

Il mio amico mi ha inviato un collegamento a questo piccolo page che mostra una semplice pagina di layout HTML + CSS. Tuttavia, se si guarda il codice sorgente, si noterà che non c'è alcun collegamento al file css.Il file CSS "nascosto" funziona solo per FF, Opera

Se si utilizza ff con firebug, è possibile vedere che in NET, il file css è collegato tramite un'intestazione inviata (volevo solo mostrarlo).

La mia domanda è, avete qualche ipotesi sul perché questo non funziona con Safari, vale a dire? Suppongo che le intestazioni non dipendano dal browser. Cosa dà?

risposta

3

Potete trovare questo una risorsa utile: http://www.w3.org/TR/html4/present/styles.html#h-14.6

Non certo perché non funziona in Safari/Chrome (Webkit), ma potrebbe essere a causa di questo:

Questa sezione riguarda solo agli interpreti conformi alle versioni di HTTP che definiscono un campo di intestazione Link. Notare che HTTP 1.1 come definito da [RFC2616] non include un campo di intestazione del collegamento (fare riferimento alla sezione 19.6.3).

1

Questo fa parte della specifica HTML, sebbene non sia una parte standard di HTTP 1.1. (RFC2616 non definisce il campo Link.)

Per questo motivo, è compito dei singoli agenti utente implementarlo. È piuttosto oscuro, e non molto utile, quindi suppongo che non sia implementato in Webkit a causa dell'incoscienza o dell'intenzione deliberata di evitare caratteristiche oscure.

+0

Non fa parte delle specifiche HTML. Fa parte dell'HRC HTTP 1.0, con l'obiettivo esplicito di fornire il collegamento delle risorse per risorse non HTML. :-) –

0

http://www.w3.org/TR/html4/present/styles.html#h-14.6

14,6 Collegamento a fogli di stile con intestazioni HTTP

Questa sezione è valida solo per gli user agent conformi a versioni di HTTP che definiscono un campo di intestazione Link. Notare che HTTP 1.1 come definito da [RFC2616] non include un campo di intestazione del collegamento (fare riferimento alla sezione 19.6.3).

Fondamentalmente, questo non è standard in http 1.1.

+0

Un po 'fuori tema, ma WebKit (erroneamente?)' Permette 'Javascript nelle intestazioni. Vedi http://ha.ckers.org/weird/chrome-redirection.cgi e le sue intestazioni, confronta i browser WebKit con altri ... –

1

L'intestazione HTTP che invia è Link: <style.css>; REL=stylesheet, che è equivalente all'elemento HTML <link rel="stylesheet" href="style.css" />.

È un'intestazione supportata solo HTTP 1.0. Aggiunto in RFC2068, 19.6.1.2 LINK, rimosso in RFC2616 (insieme a PATCH e UNLINK) a causa della mancanza di implementazioni.

0

Mozilla ha in realtà un articolo MDC dal titolo Link prefectching che riguarda quasi tutto ciò che vorreste sapere su questo e perché lo supportano. Personalmente penso che suoni come un'enorme perdita di tempo e larghezza di banda e lasci aperta una porta agli attacchi del browser. Ecco una citazione che indirizza direttamente la tua domanda:

Quali browser supportano il prefetching del collegamento?

browser basati su Mozilla 1.2 (o successive) e browser basati su Mozilla 1.0.2 (o versioni successive) sostegno prefetching. Questo include Firefox e Netscape 7.01+.I build di Camino a partire da marzo 2003 sono basati su Mozilla 1.0.1, e pertanto non supportano il prefetching . Prova il tuo browser per vedere se supporta Link Prefetching.

Problemi correlati