Edit: Tôi hoãn để Keltex's answer. Đó là một giải pháp tốt hơn nhiều. Tôi sẽ để lại cho tôi ở đây cho hậu thế (trừ khi tôi nên xóa nội dung và câu trả lời của tôi hoàn toàn? Tôi mới ở đây).
Một giải pháp khác, được sử dụng khá thường xuyên trong quá khứ, là tạo trang đích tải trước tất cả hình ảnh của bạn. Khi tải trước được thực hiện, nó sẽ chuyển hướng đến trang web thực tế. Để cho tiện làm việc, bạn sẽ cần phải nhận được URL cho tất cả các hình ảnh mà bạn muốn tải, và sau đó làm một cái gì đó như thế này:
# 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>
Nguồn
2010-12-31 17:42:12
Trong trường hợp này nếu người dùng chưa kích hoạt javascript thì anh ta không thấy div #pagecontent. Đúng ? – xRobot
Không phải là '$ (tài liệu) .ready (function()' khá dư thừa? '$ (Cửa sổ) .load' sẽ kích hoạt ngay cả khi nó ở bên ngoài khối. –
Bạn nói đúng, xử lý' ready' có thể – Keltex