使用 JQuery 加载 IMDB 海报不起作用
我编写了一个小实用程序,可以帮助使用 imdbapi.com 上提供的(非官方)API 来比较电影。
该 API 甚至返回我打算在页面上显示的电影海报的路径。 我遇到的问题是,即使元素是按照正确的路径正确创建的,当我在线部署网站代替图像时,我还是会得到一个空白占位符。
图像在本地主机上测试时加载 - 但不能在线工作。
另一个奇怪的部分是,如果我已经在本地搜索了一部电影并因此缓存了图像,则在在线搜索同一部电影时会显示该图像 - 但新海报不会加载。
源代码和所有内容都在线: http://compovie.com
它完全采用 JS - 不使用服务器端脚本。
这真的让我抓狂,任何帮助将不胜感激。 我已经对此进行了测试,并且行为在 FF 3.6、IE8 和 Chrome 中重复。
谢谢。
-- 2010 年 2 月 19 日编辑 --
我用来让它工作的 PHP 脚本片段是:
header('Content-Type: image/jpeg');
if(isset($_GET["imgUrl"])) {
$img = file_get_contents($_GET["imgUrl"]);
echo $img;
}
I wrote a small utility which helps compare films using an (un-official) API available at imdbapi.com
The api even returns the path of the film poster which I intend to display on my page.
The issue that I am running into is that even though the element is created correctly along with the correct path, I get a blank placeholder when I deploy the site online in place of the image.
The images load up while testing on localhost - but don't work online.
Another weird part is that if I have already searched for a film locally and hence have the image cached, that shows up while searching for the same film online - but new posters don't load up.
The source code and everything is online at: http://compovie.com
It's completely in JS - no server side scripting used.
This is really driving me nuts and any help would be appreciated.
I have tested this and behaviour repeats in FF 3.6, IE8 and Chrome.
Thanks.
-- Edit 19-Feb-2010 --
The PHP script snippet that I used to get this to work is:
header('Content-Type: image/jpeg');
if(isset($_GET["imgUrl"])) {
$img = file_get_contents($_GET["imgUrl"]);
echo $img;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 firebug 进行跟踪,看起来 imdb 基于 HTTP_REFERRER 限制对图像的访问。
回应如下:
Traced using firebug and looks like imdb restricts access to images based on HTTP_REFERRER.
Response given below: