我通过 Azure 发布了一个网站,但不想显示图像的绝对 URL。基本上,我正在使用 a free web service获取有关电影的信息。我已将 JavaScript 添加到页面来处理所有 HTML 控件的设置,例如 <img />
使用 document.getElementById("imgID").src = xmlElement.getAttribute("poster");
标记.
现在,这在我调试时工作得很好,但在发布网站时根本不起作用(通常是这种情况......)。当我检查元素并查看源代码时,源代码有效,但出现“图像无效”图标或替代文本。
可以在此处查看示例:
<img width="300" height="450" alt="Couldn't display image..." src="http://ia.media-imdb.com/images/M/MV5BNTQ5MTgzNDg4OF5BMl5BanBnXkFtZTcwMjAyODEzOQ@@._V1_SX300.jpg" />
Azure 是否缺少某些内容,例如需要在 Web.config 中设置的内容?任何方向将不胜感激。
最佳答案
在提示 Azure 之前,请使用您自己的图像!您的问题是因为您试图从第三方网站(即 imdb)窃取图像。新手 Web 开发人员要做的第一件事就是学习如何保护他/她的图像被无礼的网站直接引用,这些网站想要节省流量和精力并直接引用他们不拥有的图像。
您的站点可以在本地运行,因为没有设置 Referer header ,或者因为它设置为 Localhost。但一旦您发布,Referer header具有您网站的正确值(value)。然后图像请求以 HTTP 403 状态结束。
一旦您将图像放入您的网站并从那里加载它们,它就会起作用。但当然为此,您必须遵守图像的版权。
关于javascript - 部署后图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31506744/