2012-06-14 56 views
0

我在網站abc.com上有一張DIV中的圖片,該圖片位於其他地方,例如<IMG SRC="http://xyz.com/image.jpg">如何刷新遠程圖片?

它加載得很好,但是,我需要每隔幾秒更新一次。

大多數項目的上傳是局部的,但下面的代碼不能用於遠程圖片工作:

$('#rightpic').load('http://xyz.com/image.jpg', null);

通過嘗試這個,我得到一個錯誤:...is not allowed by Access-Control-Allow-Origin.

人推薦一個更好的方法來做到這一點?

+0

你有沒有在遠程服務器控制(即xyz.com)? – jrrdnx

+0

不使用load方法,而是嘗試更改img控件的src屬性,它應該可以工作。 –

+0

什麼是'rightpic'? 'img'? 'div'? –

回答

3

試試這個,你想實際改變src,而不是使用.load()函數。

$('#rightpic').get(0).src = 'http://xyz.com/image.jpg'; 
+0

只有負指標才需要'get'。通常你需要'[]',例如'$(「#rightpic」)[0] .src = ...' –

1

.load使用AJAX請求,因此適用相同的源策略 - 這限制了跨域請求。此外,它不是反正加載圖像的最佳方式。此外,設置與src相同的網址通常會從緩存中加載圖像。

相反,你應該添加一個隨機的查詢字符串值的每個請求,就像一個時間戳,以"bust the cache"

var img = document.getElementById('rightpic'); 

//update every 10 seconds using time from epoch as random value 
setInterval(function(){ 
    var randomValue = new Date().getTime(); 
    img.src = "http://example.com/image.jpg?t="+randomvalue; 
},10000);