回答
所有的html內容在它開始獲取圖像之前都會被提供並解析,因此在開始之前您有一個問題。
您可以通過編程方式隱藏內容來避開這種情況,然後在圖像加載時觸發其「顯示」。
即:
<html>
<body>
<image here/>
<div id="content" style="display:none;" >
</div>
<script type="psudocode">
when(image.loaded){
$("#content").show();
}
</script>
</body>
</html>
第一句話是不準確的。即使在完全收到初始HTML資源之前,瀏覽器也可能開始下載甚至完成下載其他所需資源。還請注意,該問題涉及背景圖像而不是圖像元素。 – AnthonyWJones 2008-10-14 11:47:24
我想你就可以做到這一點的唯一方法是用JavaScript - 發送一個只包含背景圖像的用戶HTML和一些JavaScript,要麼等待一定量在顯示其餘內容或使用AJAX檢索其餘內容(基本上是同一件事)之前。
如果您擁有一個容器內的所有內容,那麼使用此技術可能會非常接近。如果javascript被禁用/不可用,它也會失敗。
所以,如果你必須這樣做是因爲經理或其他事情,這是我會使用的方法。
<html><head><!-- head section --></head>
<body>
<div id="container">
<script type="text/javascript">
<!--
document.getElementById('container').style.display = 'none';
-->
</script>
Content goes here
</div>
<script type="text/javascript">
<!--
document.getElementById('container').style.display = 'block';
-->
</script>
</body></html>
但是,如果您的內容很少,那麼它可能不會有太大的好處。 你當然可以添加第二個JavaScript的塊上的計時器,推遲它的第二個左右:P
<html><head>
<script type="text/javascript">
//Hide on load
onload=function(){
document.body.style.display="none";
var imag = new Image();
imag.onload=function(){
var main = document.body;
main.style.backgroundImage="url("+this.src+")";
main.style.display="";
};
imag.src="http://dayton.hq.nasa.gov/IMAGES/MEDIUM/GPN-2000-001935.jpg";
}
</script>
</head>
<body>
YOU CAN' T SEE MEE!!
</body>
</html>
一種可能的方法,如果你不希望依賴於JavaScript,是使一個只有背景圖像的虛擬頁面。幾秒鐘後,它重定向到實際頁面,後臺將快速加載,因爲它已經在緩存中。
不是一個超有吸引力的解決方案,如果時間是固定的,我認爲。
請注意,300KB對於背景圖像來說相當大。我看到更糟糕的是,有人使用1MB圖像:即使是相對較快的連接,我也可以看到頁面元素後面的背景加載方式。
您可以將頁面中的圖像作爲base64圖像加載,然後它將已加載該頁面。
- 1. 如何在加載頁面正文背景圖片之前顯示加載圖片?
- 2. 強制在其他背景圖片之前加載背景圖片
- 3. 設置背景圖片加載前的網頁背景顏色
- 4. 如何在父頁面有iframe時不顯示背景圖片?
- 5. 如何防止在每個頁面中加載背景圖片?
- 6. 在JavaFX WebView加載頁面之前顯示加載圖像
- 7. 在頁面完全加載之前顯示加載圖像
- 8. 如何在Javascript加載之前使用Javascript替換網頁的背景圖片?
- 9. 如何在顯示搜索結果的頁面之前顯示加載頁面?
- 10. 如何確保在調用javascript文件之前加載頁面
- 11. 在顯示頁面之前完全下載圖片
- 12. 如何顯示加載圖片重定向到其他頁面之前?
- 13. jsp頁面中不顯示背景圖片和Logo圖片?
- 14. 加載jquery窗口 - 防止在加載所有背景圖像之前顯示整個頁面
- 15. 顯示背景圖片在
- 16. 如何在頁面顯示之前在電話中加載css?
- 17. Tilemap floor不顯示在背景圖片之前
- 18. 背景圖片未顯示正確
- 19. CSS背景圖片顯示不正確
- 20. CSS - 背景圖片顯示不正確
- 21. 加載所有背景圖像時的顯示頁面
- 22. 如何在HTML頁面加載之前顯示5send視頻?
- 23. 如何讓我的背景圖片保留在頁面底部?
- 24. Bootstrap。頁面背景圖片
- 25. 面板背景圖片只顯示EVT_SET_CURSOR
- 26. 如何確保數據在tableviewcontroller試圖加載之前加載
- 27. 在頁面加載之前顯示圖像
- 28. 在整個頁面加載之前顯示加載欄
- 29. 如何在使用carrierwave保存圖像之前顯示確認頁面?
- 30. 在我的頁面上沒有顯示背景圖片
我建議讓圖像更小,300k對於網站imo的背景來說相當大。 – 2008-10-14 11:20:36