2010-02-05 7 views
5

Mein Freund schickte mir einen Link zu diesem kleinen page, die eine einfache HTML + CSS Layout-Seite zeigt. Wenn Sie sich jedoch den Quellcode ansehen, werden Sie feststellen, dass keine Verbindung zur CSS-Datei besteht."Versteckt" CSS-Datei funktioniert nur für FF, Opera

Wenn Sie ff mit Firebug verwenden, können Sie sehen, dass unter NET die CSS-Datei über eine gesendete Kopfzeile verknüpft ist (wollte nur, dass Sie das zeigen).

Meine Frage ist, haben Sie irgendeine Vermutung, warum dies nicht mit Safari funktioniert, dh? Ich nehme an, dass Header nicht browserabhängig sind. Was gibt?

Antwort

3

Sie kann dies eine nützliche Ressource finden: http://www.w3.org/TR/html4/present/styles.html#h-14.6

nicht sicher, warum es nicht in Safari/Chrome (Webkit) funktioniert, aber es könnte dies wegen sein:

Dieser Abschnitt gilt nur an Benutzeragenten, die den HTTP-Versionen entsprechen, die ein Link-Header-Feld definieren. Beachten Sie, dass HTTP 1.1, wie in [RFC2616] definiert, kein Link-Header-Feld enthält (siehe Abschnitt 19.6.3).

1

Dies ist Teil der HTML-Spezifikation, obwohl es kein Standardteil von HTTP 1.1 ist. (RFC2616 definiert das Link-Feld nicht.)

Aus diesem Grund ist es an einzelnen Benutzeragenten, es zu implementieren. Es ist ziemlich obskur und nicht sehr nützlich, also denke ich, dass es in Webkit weder aufgrund von Unwissenheit noch vorsätzlicher Absicht, obskure Funktionen zu vermeiden, implementiert ist.

+0

Es ist nicht Teil der HTML-Spezifikation. Es ist Teil des HTTP 1.0 RFC mit dem expliziten Ziel, Ressourcenverknüpfungen für Nicht-HTML-Ressourcen bereitzustellen. :-) –

0

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

14,6 Verknüpfung mit Stylesheets mit HTTP-Header

Dieser Abschnitt ist nur für Agenten Benutzer gilt für Versionen von HTTP-konform, die einen Link Header-Feld definieren. Beachten Sie, dass HTTP 1.1, wie in [RFC2616] definiert, kein Link-Header-Feld enthält (siehe Abschnitt 19.6.3).

Also im Grunde ist dies nicht standardmäßig in http 1.1.

+0

Ein bisschen off topic, aber WebKit (fälschlicherweise?) "Erlaubt" Javascript in seinen Kopfzeilen. Sehen Sie http://ha.ckers.org/weird/chrome-redirection.cgi und seine Header, vergleichen Sie WebKit Browser mit anderen ... –

1

Der HTTP-Header, den es sendet, ist Link: <style.css>; REL=stylesheet, was dem HTML-Element <link rel="stylesheet" href="style.css" /> entspricht.

Es ist ein nur HTTP 1.0 unterstützt Header. Hinzugefügt in RFC2068, 19.6.1.2 LINK, entfernt in RFC2616 (zusammen mit PATCH und UNLINK) wegen fehlender Implementierungen.

0

Mozilla hat tatsächlich einen MDC-Artikel mit dem Titel Link prefectching, der in fast alles eingeht, was Sie darüber wissen möchten und warum sie es unterstützen. Persönlich denke ich, es klingt wie eine riesige Verschwendung von Zeit und Bandbreite und lässt nur eine Tür offen für Browser-Angriffe. Hier ist ein Angebot, das Ihre Frage direkt anspricht:

Welche Browser unterstützen Link Prefetching?

Browser basierend auf Mozilla 1.2 (oder später ) sowie Browser basierend auf Mozilla 1.0.2 (oder höher) Unterstützung Prefetching. Dazu gehören Firefox und Netscape 7.01+.Camino Builds ab März 2003 basieren auf Mozilla 1.0.1, und unterstützen daher nicht Prefetching. Testen Sie Ihren Browser, um zu sehen, wenn Link Prefetching unterstützt wird.

Verwandte Themen