我的项目托管在本地网络服务器上。
情景A
当我尝试通过doLast
访问我的test.html
文件时,它会给我
在Chrome控制台中XMLHttpRequest无法加载 http://127.0.0.1:8887/images/main/2.jpg。没有 'Access-Control-Allow-Origin'标题是test.html:1出现在 请求的资源。因此不允许原点'null'访问。
但照片在模态中正确呈现
情景B
但是当我尝试通过file://
访问test.html时,它不记录任何控制台错误并打印
JFIFPhotoshop 3.08BIM} 720120601< 130528-0500ZBaltimore_ MD - MarylandeUSA - 美国detbal-crime2 PKarl Merton FerronUBaltimore Sun Staffn Baltimore SunsNA.1zNA.1xbA 巴尔的摩警察在现场站在犯罪现场磁带后面 警方在一起入室盗窃案后发生枪击事件 据报道,东南部的S. Chester Street和Bank Street附近有所进展 巴尔的摩。一名嫌疑人被枪杀,另一名被逮捕 调查人员通过证据。 (Karl Merton Ferron /巴尔的摩 太阳)iPOLICE参与其中 SHOOTINGgBAL12060115170484200:0:0:-00001 8BIM 8BIM hhttp://ns.adobe.com/xap/1.0/巴尔的摩MD - 美国马里兰州 - 美国巴尔的摩太阳职员巴尔的摩太阳队NA.1 NA.1涉及的警察拍摄BAL1206011517048420 2012-06-01T13:05:28-05:00巴尔的摩警察站在后面 犯罪现场录像带现场警方参与枪击事件 在S. Chester街附近报道了一起正在进行的入室盗窃案 和银行S
而不是在模态中渲染图像。
我实际上并不了解发生了什么。我正在尝试使用bootstrap调试我的gallery viewer jQuery插件。正确渲染图像仅在方案A中使用chrome进行。
其他调查结果:
HTML(场景A)
http://127.0.0.1:8887
我需要修复此图像渲染。如果我知道谷歌浏览器管理如何呈现图像尽管有警告,这将有助于
答案 0 :(得分:6)
方案A错误似乎是由于您在没有发送正确的CORS标头(客户端和服务器端)的情况下对映像执行跨域http请求。如果您的网站也托管在该本地地址和端口,我会将图片网址设置为/demo/images/main/1.jpg
,因为这样可以确保他们使用您用来访问您网站的相同域名和方案。控制台抛出的错误告诉您图像请求是使用Origin
null
标头创建的,但是虽然收到了有效的响应但它没有包含Access-Control-Allow-Origin
响应带有值*
或null
的标头。如果您控制服务器,则为该响应头提供*
应该传递CORS。
如果您尝试直接导航到chrome中的图片路径,它是否有效http://127.0.0.1:8887/demo/images/thumbnail/1.jpg?如果没有,那么就没有希望它在img
标签中工作。
如果您打开chrome dev工具并转到网络选项卡然后重新加载页面(启用保留日志复选框),您是否看到任何资源返回红色(非200/304状态代码)?如果是这样,调查这些请求的响应标头和内容可能会引导您回答。
情景a和b似乎是不同的问题。 B似乎您可能正在使用不正确的内容类型提供图像,或者您的模态CSS隐藏图像(不解释奇怪的警察文本来自哪里)。如果您可以修饰您使用服务器端打开端口并提供图像,我可能会提供更多帮助。如果这是在images目录中使用express和express.static的节点,只要你的路径排成一行,它就应该工作。
其他:
<!DOCTYPE html>
tag
将HTML页面的内容类型设置为UTF8。