回答
所有的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. 如何在父頁面有iframe時不顯示背景圖片?
- 4. 在頁面完全加載之前顯示加載圖像
- 5. 如何在顯示搜索結果的頁面之前顯示加載頁面?
- 6. 在顯示頁面之前完全下載圖片
- 7. 如何顯示加載圖片重定向到其他頁面之前?
- 8. 顯示背景圖片在
- 9. 加載jquery窗口 - 防止在加載所有背景圖像之前顯示整個頁面
- 10. CSS背景圖片顯示不正確
- 11. 背景圖片未顯示正確
- 12. 如何讓我的背景圖片保留在頁面底部?
- 13. 如何在HTML頁面加載之前顯示5send視頻?
- 14. Bootstrap。頁面背景圖片
- 15. 如何確保數據在tableviewcontroller試圖加載之前加載
- 16. 不顯示在不同的html頁面的背景圖片
- 17. JavaScript背景圖片在頁面加載更改Impresspage
- 18. 圖片背景在頁面加載時閃爍白色閃爍
- 19. WPF頁面背景加載中...如何?
- 20. 背景圖片未顯示
- 21. 背景圖片不顯示
- 22. 如何在Python CGI頁面中加載/顯示圖片
- 23. 從背景加載圖片
- 24. 背景圖片未加載
- 25. 如何設置背景圖片在img標籤的內容之前顯示?
- 26. 如何在加載父頁面之前加載子頁面?
- 27. 如何讓背景圖片只顯示在主頁上?
- 28. AJAX問題:如何在顯示錶格之前確保圖像已加載?
- 29. SlickGrid - 背景加載頁面
- 30. 如何在頁面之間顯示頁面加載
我建議讓圖像更小,300k對於網站imo的背景來說相當大。 – 2008-10-14 11:20:36