Edit: Mi rimetto a Keltex's answer. Si tratta di una soluzione molto migliore. Lascerò il mio qui per i posteri (a meno che non debba cancellare il contenuto e la mia risposta interamente? Sono nuovo qui).
Un'altra soluzione, utilizzata abbastanza frequentemente in passato, consiste nel creare una pagina di destinazione che precarica tutte le immagini. Quando viene eseguito il preloading, reindirizza al sito reale. Al fine di far funzionare tutto questo, avresti bisogno di ottenere gli URL a tutte le immagini che si desidera caricare, e poi fare qualcosa di simile:
# on index.html, our preloader
<script type='text/javascript'>
// add all of your image paths to this array
var images = [
'/images/image1.png',
'/images/image2.png',
'/images/image3.png'
];
for(var i in images) {
var img = images[i];
var e = document.createElement('img');
// this will trigger your browser loading the image (and caching it)
e.src = img;
}
// once we get here, we are pretty much done, so redirect to the actual page
window.location = '/home.html';
</script>
<body>
<h1>Loading....</h1>
<img src="loading.gif"/>
</body>
fonte
2010-12-31 17:42:12
In questo caso se l'utente non ha attivato javascript quindi non vede il div #pagecontent. Destra ? – xRobot
Non è il '$ (document) .ready (function()' abbastanza ridondante? '$ (Window) .load' sparerà anche se è fuori dal blocco. –
Hai ragione, la maniglia' ready' potrebbe probabilmente essere rimosso, ma non danneggerà nulla – Keltex