【发布时间】:2012-12-20 11:59:01
【问题描述】:
我正在使用 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" />
为什么我不断收到此警告,我该怎么办?
谢谢,弗拉基米尔
【问题讨论】:
-
我已经得出结论,由于某种原因,直接在模板中插入图像文件名在 Meteor 中是不明智的,所以现在我的辅助函数输出完整的图像标签。当我的辅助函数输出整个图像标签时,所有警告都会消失。
-
另外,在处理扩展 Meteor.user() 时,我必须检查是否例如avatar 字段存在(通过使用 if ('avatar' in Meteor.user()))。 Meteor 似乎两次调用我的函数,第一次调用我的函数,例如Meteor.user().avatar 出于某种原因返回“未定义”。
标签: meteor handlebars.js