我编写了一个小实用程序,可以使用 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;
}
最佳答案
使用 firebug 进行跟踪,看起来 imdb 基于 HTTP_REFERRER 限制对图像的访问。 回复如下:
<HTML><HEAD>
<TITLE>Referral Denied</TITLE>
</HEAD><BODY>
<H1>Referral Denied</H1>
You don't have permission to access "http://ia.media-imdb.com/images/M/MV5BMjA3NDI4ODUwMF5BMl5BanBnXkFtZTcwOTgxOTkyMQ@@._V1._SX320.jpg" on this server.<P>
Reference #24.362e0660.1296452290.2e4450a
</BODY></HTML>
关于javascript - 使用 JQuery 加载 IMDB 海报不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847932/