4

我正在使用 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”)。所有图像在浏览器中都可见并正确加载。

当我直接在模板中输入图像名称(硬编码图像名称)时,警告就会消失。

例如

<img src="images/avatar.jpg" alt="" width="32" height="32" />

为什么我不断收到此警告,我该怎么办?

谢谢,弗拉基米尔

4

5 回答 5

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)很重要......

于 2013-05-02T13:07:33.440 回答
1

{{userOwnerAvatar}} 的值没有正确解析,这就是为什么您的浏览器说“http://localhost:3000/images/”被解释为 text/html(请注意其中缺少实际的图像文件名网址)。修复您的模板助手:-)

于 2013-01-06T19:14:07.087 回答
1

这是 Chrome 生成的不安全内容警告,表示服务器Content-type在 HTTP 标头中发送错误或丢失。有时在加载自定义 Javascript 或 CSS 等时也会发生这种情况。

我也遇到过同样的问题。在这里,浏览器期望Content-type: image/jpeg,但它被解释为text/html。因为你没有content-type在你的助手中指定。

这些只是对运行应用程序没有影响的类型警告。

于 2013-01-07T06:18:00.053 回答
1

我有一个类似的问题,因为能够通过将我的 img 文件夹移动到 Meteor 项目的公用文件夹中来解决它,以便直接提供它。我的源网址仍然是src="img/pic.png".

于 2013-08-11T09:27:03.483 回答
0

尽管图像根本没有显示,但我在使用 Iron 路由器包时遇到了类似的问题。我的图像在 public/ 目录中。如果我使用 url http://localhost:3000/tracker,它们会正确显示,但我的路径页面http://localhost:3000/tracker/item无法正确加载图像并给我上述错误。

我正在使用以下html:

<img src="{{this.itemImage}}" alt="{{this.itemName}}">

当我{{this.itemImage}}像这样添加'/'之前:

<img src="/{{this.itemImage}}" alt="{{this.itemName}}">

图像将正确加载,并且不会出现错误。

于 2014-07-05T07:22:22.257 回答