0

我有一张图片:

<img id="img1" src="http://igyaan.in/wp-content/uploads/2013/03/Nvidia-580x362.jpg" />

来自 url 的图像被缓存,但图像未显示。

我使用 firebug 对其进行了分析,在那里我可以看到对图像的 GET 请求,并返回图像。此外,还有一个我从未请求过的 facebook pic 请求(萤火虫:错误请求):

http://a1.sphotos.ak.fbcdn.net/hphotos-ak-snc7/424831_319096764809781_1948053300_n.jpg

jsFiddle:http: //jsfiddle.net/Qb6YX/5/

知道为什么会这样吗?我该如何解决这个问题?
MoreInfo:我正在开发一个 Rss 提要阅读器,它显示帖子的图像。我在这个特定的网站上遇到了麻烦。

4

1 回答 1

2

该图像很可能是受热链接保护的。这就是为什么当您尝试在页面上加载它时它会被重定向。在这种情况下,您应该使用服务器端代理来检索图像并从那里加载它。

使用来自Images.weserv.nl的外部服务:

<img src="http://images.weserv.nl/?url=igyaan.in/wp-content/uploads/2013/03/Nvidia-580x362.jpg" />

jsFiddle

如果您为此目的在您的服务器上托管代理脚本会更好,这样您的 RSS 提要阅读器的依赖关系就会更少。

但是,有时我们应该尊重网站所有者对盗链保护的决定。一种解决方法是用默认图像替换无法加载的图像。

于 2013-03-11T15:07:24.443 回答