我正在使用Meteor 0.5.2并在Chrome中针对每个由模板帮助程序生成src的图像发出以下警告:
Resource interpreted as Image but transferred with MIME type text/html:
"http://localhost:3000/images/". domutils.js:126
在我的模板中,我定义了这样的图像:
<img src="images/{{userOwnerAvatar}}" alt="" width="32" height="32" />
我正在使用模板辅助函数从Mongo中提取确切的图像名称(例如“avatar.jpg”)。所有图像都可见,并在浏览器中正确加载。
当我直接在图像名称中键入模板(硬编码图像名称)时,警告消失。
e.g。
<img src="images/avatar.jpg" alt="" width="32" height="32" />
为什么我一直收到这个警告,我该怎么办呢?
谢谢,弗拉基米尔
答案 0 :(得分:4)
相关,虽然没有具体回答上述问题,但我收到了类似的警告/错误消息。我的CSS是这样的:
.myClass a{
background: url(my-image.png) top left no-repeat;
}
通过将其更改为(注意引号和正斜杠)来修复它:
.myClass a{
background: url('/my-image.png.png') top left no-repeat;
}
我不知道为什么Meteor(或Handlebars)的引号和斜线很重要......
答案 1 :(得分:1)
{{userOwnerAvatar}}的值未正确解析,这就是为什么您的浏览器说“http:// localhost:3000 / images /”被解释为text / html(注意缺少实际图像)该URL中的文件名)。修复模板助手: - )
答案 2 :(得分:1)
这是Chrome生成的不安全内容警告,说服务器在HTTP标头中发送错误或丢失的Content-type
。有时在加载自定义Javascript或CSS等时也会发生这种情况。
我也经历过同样的问题。在这里,浏览器需要Content-type: image/jpeg
,但它被解释为text/html
。因为您没有在助手中指定content-type
。
这些只是一种类型警告,对运行应用程序没有影响。
答案 3 :(得分:1)
我有一个类似的问题,因为能够通过将我的img文件夹移动到Meteor项目的公共文件夹来解决它,所以它是直接提供的。我的源网址仍为src="img/pic.png"
。
答案 4 :(得分:0)
我在使用铁路由器包时遇到了类似的问题,尽管图像根本没有显示。我的图片在公共/目录中。如果我使用的是网址http://localhost:3000/tracker
,它们会正常显示,但我在路径http://localhost:3000/tracker/item
上的网页无法正确加载图片并给我上述错误。
我使用的是以下html:
<img src="{{this.itemImage}}" alt="{{this.itemName}}">
当我添加&#39; /&#39;在此{{this.itemImage}}
之前:
<img src="/{{this.itemImage}}" alt="{{this.itemName}}">
图像将正确加载,并且不会出现错误。