2014-10-20 18 views
1

我想在圖像未加載到html DOM時更改圖像url。 (在瀏覽器加載圖像之前)js(jquery)如何在圖像加載前運行

js能做到這一點嗎?

演示代碼:

... 
<body> 
    <img src="old src"> <!-- this **HTML** is loaded from a database and i want to change this src using javascript--> 
</body> 
.... 

我試圖

$(function(){$(img).attr('src','new src');}); //it is can work ,but the brower will load old image first. then the js will run. 

東陽的HTML從數據庫加載,我不知道如何操作的服務器代碼(Java)的HTML字符串。所以我想用js來改變圖像的src。

編輯:

例如:

老SRC = 「舊域/ test.jpg放在」 我想改變它 「右domian2(CDN)/test_width_height.jpg」

舊的src不在服務器中,所以瀏覽器首先會從服務器獲得404錯誤。 當src更改爲新的src時,則瀏覽器將從新src重新加載圖像,然後顯示正確的圖像。

我不想首先發現borwer 404錯誤,我只是希望瀏覽器從正確的地址加載正確的圖像。

+0

在HTML中將'src'更改爲「」。 – Ravi 2014-10-20 06:39:42

+0

@Ravi由於圖像是從數據庫中加載的,我不知道如何在服務器代碼(java)中操作html字符串。所以我想用js來改變圖像的src。 – zt9788 2014-10-20 06:45:30

+0

@martynas這不是我想要的,我想在瀏覽器加載圖像之前更改src。 – zt9788 2014-10-20 06:47:47

回答

0

在開始的時候沒有任何URL添加到圖像標籤。在一定條件下像頁面加載它們加入到

// define the function that assign the image url 
function assignImageSrc(){ 
    $('#imageID').prop('src','add your url here'); 
} 

稱其爲

<form onload="assignImageSrc()" > 
// 
</form> 

希望它可以幫助...

+0

謝謝,我解決了我的問題 – zt9788 2014-10-20 06:58:54

+0

你有沒有嘗試過的建議?請分享你的輸入。 – Mayank 2014-10-20 07:04:22

+0

因爲borswer會得到舊圖像,assignImageSrc的功能不運行,chrome將首先打印404然後將更改iamge src。我只是不想要404。當顯示圖像很多時,html顯示速度會變慢。 – zt9788 2014-10-20 07:25:13

1

如果加載圖像的任何問題,則可以選擇設置onError的其他圖像

<img src="old domain/test.jpg" alt="Not Available" 
onError="this.src='right domian2(CDN)/test_width_height.jpg';" /> 
+0

謝謝,這個解決方案與我的演示相同。那將得到404 fisrt.and我無法在java代碼(服務器)中操作html src – zt9788 2014-10-20 07:26:36

+1

運行無限循環的可能性在此處顯示。 – 2014-10-20 07:30:17

相關問題