2012-04-02 15 views
13

Ich versuche die Prerender-Funktion in Chrom, aber wenn ich das Netzwerk überprüfe, kann ich sehen, dass die Anfrage für jeden Link abgebrochen wird.Chrome Prerender-Funktion wird jedes Mal abgebrochen

chrome developer console

Ich verwende die folgende Syntax:

<link rel="prerender" href="http://example.org/index.html"> 

versuchte ich die Live-Demo auf http://prerender-test.appspot.com/ und bekam das gleiche Ergebnis. Warum ist das?

Update (von https://developers.google.com/chrome/whitepapers/prerender):

In einigen Fällen, während eine Website prerendering Chrome in eine Situation führen kann, die möglicherweise zu Benutzer sichtbaren Verhalten führen könnten, die nicht korrekt ist. In diesen Fällen wird der Prerender automatisch abgebrochen. Einige dieser Fälle sind:

  • Hinweis: Dies ist keine erschöpfende Liste. Letzte Aktualisierung 11.10.11.

    1. Die URL initiiert einen Download
    2. HTMLAudio oder Video auf der Seite
    3. POST, PUT und DELETE XMLHttpRequests
    4. HTTP-Authentifizierung
    5. HTTPS-Seiten
    6. Seiten, die die Malware-Warnung auslösen
    7. Popup/Fenster Erstellung
    8. Erkennung von hoher Ressourcenauslastung
    9. Entwicklertools ist geöffnet
    10. Bei Plugins wie Flash wird die Initialisierung zurückgestellt, bis der Benutzer die vorgerenderte Seite aufruft.

Aber die Frage ist, wenn kann ich diese Funktion verwenden?

+0

hat die Demo sagen, dass Sie Prerender aktiviert haben? –

+0

sicher, sonst wird es nicht zulassen, dass Sie einen Link eingeben –

+0

Die Demo funktioniert für mich. Hast du verschiedene Maschinen ausprobiert? –

Antwort

17

In diesem Fall klingt es so, als ob die Prerender-Anforderungen abgebrochen werden, weil Sie Developer Tools geöffnet haben.

Wenn Sie weitere Informationen über den Grund erhalten möchten, warum die Anforderungen abgebrochen werden, kopieren Sie chrome: // net-internals/# prerender in Ihre Omnibox und drücken Sie die Eingabetaste.

Prerendering sollte in fast allen Fällen funktionieren, dass nicht in der Liste der Löschungsgründe aufgelistet sind, die Sie aus dem Whitepaper eingefügt haben.

+2

Warum ist Prerender deaktiviert, wenn die Developer Tools geöffnet sind? –

+6

Das führt zu einer Art perverser Situation - woher weiß ich, ob Prefetch funktioniert, wenn Entwicklerwerkzeuge geschlossen werden? Wird eine vorab abgerufene Ressource tatsächlich vorab abgerufen, wenn niemand zusieht? Glaube, nehme ich an. – drewww

+0

Wenn Entwickler-Tools es nicht funktionieren, dann würde ich empfehlen, etwas extern zu Ihrem Browser (wie Fiddler) zu verwenden, um zu überprüfen, ob Ihr Prefetch funktioniert. –

1

Prerender, Prefetching & Developer Tools:

Prerender Und Prefetching-Links (das überhaupt nicht die gleichen Merkmale sind) sind deaktiviert, wenn die Entwickler-Tools geöffnet sind (in den meisten Browsern: IE, Chrome, Firefox), weil sie Beide basieren teilweise auf "Cache" - Eigentlich basiert "prefetch" vollständig auf Cache und Sub-Ressourcen. Denn das ist es - es lädt den Future-Inhalt (nur Top Layer) in den Cache, damit er beim Navigieren bereits zur Verfügung steht die nächste Seite. "Prerender" verwendet Cache aber auch Rendert die gesamte Seite in eine "versteckte Registerkarte" im Hintergrund.

Beim Aktivieren der Entwicklungstools ist die aktuelle Seite nicht "Caching", da die meisten Browser den Cache standardmäßig deaktivieren, wenn die Entwicklungstools geöffnet sind.

Um das Prerendering in Aktion zu sehen und es zu testen Die beste Methode ist es, den Task-Manager zu verwenden - Sie sehen einen Prerender-Prozess, sobald die aktuelle Seite geladen ist.

Alles, was Sie wissen müssen über Prerender/Prefetching Zusammengefasst: HERE

Verwandte Themen