2013-01-06 31 views
4

我使用流星0.5.2轉移並得到以下在Chrome警告每個圖像已經由模板生成輔助他們的src:流星:資源解釋爲圖像,但使用MIME類型text/html

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" /> 

我使用的模板輔助函數來從蒙戈拉出確切的圖像文件名(如「avatar.jpg」)。所有圖像均可見,並可在瀏覽器中正確加載。

當我將圖像名稱直接鍵入模板(硬編碼圖像名稱)時,警告消失。

例如

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

爲什麼我不斷收到此警告,我該怎麼辦?

感謝弗拉基米爾

+0

我已經得出結論,直接在模板中插入圖像文件名稱是不明智的流星出於某種原因,所以現在我的幫助函數輸出完整的圖像標記。當我的幫助器功能輸出整個圖像標籤時,所有警告消失。 – vladimirp

+0

另外,當處理擴展的Meteor.user()時,我必須做一個檢查,例如,頭像字段存在(通過在Meteor.user()中使用if('avatar')))。 看來Meteor會兩次和第一次調用我的函數,例如Meteor.user()。avatar由於某種原因返回'undefined'。 – vladimirp

回答

1

的{{userOwnerAvatar}}沒有正確解決的價值,這就是爲什麼你的瀏覽器說, 「HTTP://本地主機:3000 /圖片/」 被解釋爲text/html (請注意,該URL中缺少實際的圖像文件名)。修復您的模板助手:-)

+0

我可以在瀏覽器中正確地看到圖像,並且Chrome中的Inspect元素正確顯示圖像URL() 當啓動流星應用程序時,我可以看到一秒鐘「圖像未找到」圖標,然後實際圖像替換它。這就像我的幫助函數在模板呈現之前不會返回圖像名稱。我要進一步調查這個問題。 – vladimirp

+0

我已經得出結論,直接在模板中插入圖像文件名稱是不明智的,因爲某些原因,所以現在我的幫助函數輸出完整的圖像標記。當我的幫助器功能輸出整個圖像標籤時,所有警告消失。 – vladimirp

+1

@Rahul你如何在模板助手中指定MIME類型? – Vindberg

1

這是由Chrome生成的不安全內容警告,表示服務器在HTTP標頭中發送錯誤或丟失Content-type。有時這也會發生在加載自定義Javascript或CSS等時。

我也遇到過同樣的問題。這裏,瀏覽器期望Content-type: image/jpeg,但它被解釋爲text/html。因爲你沒有在助手中指定content-type

這些僅僅是一種對運行應用程序沒有影響的類型警告。

+0

我的幫助函數只返回圖像文件名 - 圖像不保存在數據庫中,而是保存在/ images /文件夾中的文件系統上。 – vladimirp

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; 
} 

我不知道爲什麼引號和流星物質斜線(或手把)...

1

我有一個類似的問題,因爲能夠通過將我的img文件夾移動到Meteor項目的公用文件夾中來解決它,所以它直接提供服務。我的源URL仍然是src="img/pic.png"

0

我在使用鐵路路由器包時遇到類似的問題,儘管圖像根本不顯示。我的圖片在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}}"> 

的圖像將正確加載,並且不會有什麼錯誤。

相關問題