2011-08-04 45 views
0

在我們的應用程序中,我們將HTML存儲在數據庫表中,並在某個點將其呈現給用戶,HTML可以包含相當多的圖像(可以是大的大小),我想要做的就是在從數據庫中檢索HTML時預先解析HTML,並將任何圖像標籤替換爲允許我們在其餘數據展示給客戶端。替換圖像並加載一次文檔的其餘部分已加載

即。文檔被返回,並且圖像被客戶端請求和加載,而不是客戶端在看到任何內容之前不得不等待整個文檔和圖像加載。

是否有任何目前存在的,也許是提供這種功能的jquery插件或類似的東西?

我們的應用程序是一個asp.net 3.5網站使用Telerik控制(使用jQuery的)

+0

可能值得看看[防止加載圖像]的答案(http://stackoverflow.com/questions/1667868/prevent-images-from-loading) – Caspar

回答

1

更換爲 「#」 您的IMG SRC屬性,並添加自定義屬性,像這樣:

<img src="#" delayed="http://mydomain.com/myimage.png"/ > 

然後,添加一個JavaScript線的時候你的頁面加載,做這樣的事情(未經測試,但你的想法):

$('img').each(function(){ 
    $(this).attr('src', $(this).attr('delayed')); 
}); 

也有延遲加載插件.. http://www.appelsiini.net/projects/lazyload

+0

這種方法適用於大多數人,但如果Javascript未啓用,將徹底失敗。 – Caspar

+0

你生活在哪個世界?他的應用程序是基於jQuery ..希望你認識jquery是JS中的一個庫。並且你將如何實現相同的目標,否則請隨時給你的解決方案,否則不要巨魔。 – Baz1nga

+0

優秀我會給這個去! –

0

你可以做這樣的事情 可以說,您從數據庫獲取的HTML是一種div並具有idmain。現在,當您檢索div解析它時,將img標記替換爲div與0123'類。只是divmain結束後把這樣

<div id="main"> 
... 
... 
</div> 
<script type=text/javascript ....> // or use the src attribute to import a js file 
.... 
... 
.. 
</script> 

一個script元件現在在script元件寫ajax呼叫請求圖像和在接收到每個圖像把該圖像中div與類sub

0

非javscript這樣做的方法是在任何地方使用標籤,然後添加一個css文件,將背景圖像設置爲所有圖像。因此沒有js,延遲加載。

<body> 
    <div id="image1"></div> 
    <div id="image2"></div> 
    . 
    . 
    . 
    . 
</body> 
<link href="image.css" type="text/css"></link> 

的CSS裏面你這樣做:

#image1 { width: 100px; height: 100px; background: url(image1.jpg) } 
#image2 { width: 100px; height: 100px; background: url(image2.jpg) } 

這將你所尋找的延遲加載。

相關問題