2010-05-21 3 views
5

Quindi stavo usando yslow per firefox e il peso della mia pagina era molto alto. La mia pagina ha un'immagine principale del prodotto e quindi forse 10 miniature. Se fai clic su una miniatura, l'immagine si apre in un popup fatto attraverso jquery. Il problema è che yslow elenca anche le destinazioni delle miniature come parte del peso della pagina, quindi suppongo che per qualche motivo le immagini vengano scaricate.L'anchor href di un'immagine lo fa scaricare?

Ad esempio, ho:

<a class="group nyroModal" rel="lightbox-group" href="/upload/topview.jpg"> 
<img alt="thumbnail" src="/upload/thumb/t_topview.jpg" /> 
</a> 

Sarebbe questo normale html sì che il "upload/topview.jpg" per scaricare automaticamente? O è il plugin jQuery "nyroModal"? Preferirei che le immagini non si pre-caricassero, che avrebbero sprecato molta banda.

Quindi la mia domanda è: un browser tenta automaticamente di scaricare i file di immagine che si trovano nella proprietà href degli ancoraggi, o il plugin lo causa molto probabilmente?

Grazie per qualsiasi direzione tu possa darmi.

+0

A seconda di come avete impostato le cose che si potrebbero voler esaminare usando uno sprite per quelle 10 immagini – Justin

risposta

6

No, il browser non scarica quello href da solo. Direi che il tuo plugin jquery sta seguendo il link per precaricarlo. Come disabilitare questo è probabilmente nei documenti del plugin da qualche parte.

+0

Sì, deve essere nel tuo plugin. –

+0

YSlow generalmente rileva solo le richieste HTTP effettivamente inviate, quindi il tuo plug-in jQuery esegue il precaricamento dell'immagine, oppure YSlow sa che l'immagine potrebbe essere caricata dinamicamente. Sto mettendo più convinzione nel primo. –

1

Come ha detto Squeegy, il browser non lo sta facendo da solo ... Ho guardato il sito Web nyroModal e non fa parte del codice predefinito per quel plug-in.

Immagini precarico non è considerato essere una parte del plugin, come si probabilmente bisogno di precaricare altre immagini per il tuo sito. Se è necessario fare così, è possibile utilizzare questo codice.

Quindi, hai un altro codice da qualche altra parte che sta eseguendo il pre-caricamento? Ecco una funzione di immagine di preload di base che potresti essere in grado di utilizzare per trovare dove sta accadendo. Cerca il tuo codice per la porzione = new Image() e potresti riuscire a trovarlo.

function preloadImg(image) { 
    var img = new Image(); 
    img.src = image; 
    } 
0

Il tuo codice è:

<a class="group nyroModal" rel="lightbox-group" href="/upload/topview.jpg"> 
<img alt="thumbnail" src="/upload/thumb/t_topview.jpg" /> 
</a> 

aggiornarlo a,

<a download="imagename.jpg" href="/upload/thumb/t_topview.jpg"> 
<img alt="thumbnail" src="/upload/thumb/t_topview.jpg" /> 
</a> 

Godetevi .. :)