我在其他地方托管的网站abc.com上有一张图片,例如<IMG SRC="http://xyz.com/image.jpg">
。
它加载很好,但是,我需要每隔几秒更新一次。
要上传的大部分内容都是本地的,但以下代码不适用于远程图片:
$('#rightpic').load('http://xyz.com/image.jpg', null);
通过尝试此操作,我收到错误:...is not allowed by Access-Control-Allow-Origin.
有人可以推荐一种更好的方法吗?
答案 0 :(得分:3)
试试这个,你想要实际更改src,而不是使用.load()函数。
$('#rightpic').get(0).src = 'http://xyz.com/image.jpg';
答案 1 :(得分:1)
.load
使用AJAX请求,因此适用相同的源策略 - 这限制了跨域请求。此外,它不是加载图像的最佳方式。此外,将相同的URL设置为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);