2012-04-02 17 views
13

Sto provando la funzione di prerender in chrome, ma quando controllo la rete, posso vedere che la richiesta è cancellata per qualsiasi collegamento.La funzione di Chrome Prerender viene annullata ogni volta

chrome developer console

sto usando la seguente sintassi:

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

ho provato la demo live a http://prerender-test.appspot.com/ e ottenuto lo stesso risultato. Perché è quello?

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

In alcuni casi, mentre un sito di pre-rendering Chrome potrebbe incorrere in una situazione che potrebbe potenzialmente portare ad un comportamento visibile all'utente che non è corretto. In questi casi, il prerender verrà automaticamente interrotto. Alcuni di questi casi includono:

  • Nota: questa non è una lista esaustiva. Ultimo aggiornamento 11/10/11.

    1. L'URL avvia un download
    2. HTMLAudio o video nella pagina
    3. POST, PUT e DELETE XMLHttpRequests
    4. autenticazione HTTP
    5. pagine
    6. HTTPS
    7. Pagine che attivano l'avviso di malware
    8. Creazione finestre/finestre
    9. Rilevamento di risorse elevate utilizati su
    10. Gli Strumenti per gli sviluppatori sono aperti
    11. I plug-in come Flash avranno la loro inizializzazione rimandata finché l'utente non visita effettivamente la pagina prerenderata.

Ma la domanda è quando può utilizzare questa funzione?

+0

Fa la demo dire che avete PreRender abilitati? –

+0

sicuro, altrimenti non ti permetterà di inserire un link –

+0

La demo funziona per me. Hai provato su macchine diverse? –

risposta

17

In questo caso, sembra che le richieste di preregistrazione vengano annullate perché sono aperti gli Strumenti per sviluppatori.

Se si desidera visualizzare ulteriori informazioni sul motivo per cui le richieste vengono annullate, copiare e incollare chrome: // net-internals/# prerender nella omnibox e premere invio.

Il prerendering dovrebbe funzionare in quasi tutti i casi che non è elencato nell'elenco dei motivi di annullamento incollati dal white paper.

+2

Perché il prerender è disabilitato se gli Strumenti per gli sviluppatori sono aperti? –

+6

Questo porta a una sorta di situazione perversa: come faccio a sapere se il prefetch funziona quando gli strumenti di sviluppo sono chiusi? Una risorsa prefetched in realtà prefetch se nessuno sta guardando? Fede, suppongo. – drewww

+0

Se gli strumenti di sviluppo non lo fanno, ti consigliamo di utilizzare qualcosa di esterno al tuo browser (come Fiddler) per verificare se il tuo prefetch funziona. –

1

Prerender, Prefetching & Developer Tools:

Prerender E Prefetching Links (che non sono le stesse caratteristiche a tutti) sono disattivati ​​quando gli sviluppatori gli strumenti sono aperti (nella maggior parte dei browser: IE, Chrome, Firefox) perché sono entrambi parzialmente basati su "Cache" - In realtà "prefetch" è totalmente basato su Cache e sotto-risorse Perché è quello che fa - carica il contenuto Future (solo Top Layer) alla cache in modo che sia già disponibile durante la navigazione verso la prossima pagina. "prerender" utilizza la cache ma Rende anche l'intera pagina in una "scheda nascosta" in background.

Quando si abilitano gli strumenti di sviluppo, la pagina corrente non è "Cache" perché la maggior parte dei browser disabilita la cache per impostazione predefinita quando gli strumenti di sviluppo sono aperti.

Per vedere il prerendering in azione e testarlo Il metodo migliore è utilizzare il Task Manager: sarà possibile vedere un processo di prerender che esegue il kicking una volta caricata la pagina corrente.

Tutto quello che c'è da sapere su Prerender/Prefetching riassunte: HERE

Problemi correlati