2013-03-20 22 views
67

Tôi có một cảnh báo trong Google cho font-face của tôi:Google cảnh báo: Resource hiểu là Font nhưng chuyển với kiểu MIME application/octet-stream

Resource hiểu là Font nhưng chuyển với ứng dụng kiểu MIME/octet- luồng: ".../Nội dung/Phông chữ/biểu tượngFont.ttf".

Nó hoạt động ngay cả khi tôi có cảnh báo này nhưng tôi muốn tránh cảnh báo này.

Đây là tuyên bố của tôi:

@font-face { 
    font-family: 'iconFont'; 
    src: url('../Fonts/iconFont.eot?#iefix') format('embedded-opentype'), 
    url('../Fonts/iconFont.svg#iconFont') format('image/svg+xml'), 
    url('../Fonts/iconFont.woff') format('font/x-woff'), 
    url('../Fonts/iconFont.ttf') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 

Tôi đã tìm kiếm trên bài viết khác nhưng không may mắn cho đến nay.

Xin lưu ý rằng máy chủ của tôi là IIS của Microsoft.

Bất kỳ ý tưởng nào làm cách nào để tránh cảnh báo này?

Cảm ơn.

Trả lời

87

Bạn cần phải thêm các loại sau đây để một .htaccess/IIS:

AddType application/vnd.ms-fontobject .eot 
AddType font/ttf .ttf 
AddType font/otf .otf 
AddType application/font-woff .woff 

Cập nhật loại .woff từ:

AddType application/x-font-woff .woff 

(Nhờ @renadeen trong ý kiến ​​dưới đây để chỉ này.)

Kiểm tra câu trả lời của tôi cho một câu hỏi tương tự tại đây: Font Face not loaded

Lấy từ đây: font-face problem in chrome.

+0

Cảm ơn bạn. Nó hoạt động. – Bronzato

+0

Tôi đã thêm 4 dòng này vào cuối tệp của mình, nhưng tôi vẫn gặp lỗi. Mất bao lâu để làm việc này? – Michiel

+0

Bạn đã thử đặt lại/khởi động lại máy chủ web chưa? IIS? Bạn đã kiểm tra 2 liên kết trong câu trả lời của tôi chưa? – 97ldave

46

Cảm ơn câu trả lời ở trên @ 97ldave, bạn có thể thêm các loại này vào phần cấu hình IIS webServer nếu bạn không muốn thêm chúng trực tiếp vào các loại MIME trong thiết lập IIS của bạn. Phần sau đây trình bày một ví dụ về việc chỉ thêm kiểu .woff bị thiếu trong cấu hình của chúng ta. Điều này đã khắc phục sự cố với phông chữ không xuất hiện trong phiên bản Safari mới nhất (6.0.3) trên iMac của tôi.

<system.webServer> 
<staticContent> 
    <remove fileExtension=".woff" /> 
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" /> 
</staticContent> 
</system.webServer> 

Nhờ Jon Samwell (đồng nghiệp của tôi) đã tìm ra điều này.

+1

Cảm ơn thông tin này. – Bronzato

+0

@The Thượng nghị sĩ: Cảm ơn! –

+5

Tôi đoán rằng [nhận xét về câu trả lời hiện được chấp nhận] (http://stackoverflow.com/questions/15521130/google-warning-resource-interpreted-as-font-but-transferred-with-mime-type-appl# comment26019030_15522254) về việc loại bỏ 'x-' khỏi loại mime cũng có thể áp dụng cho câu trả lời này. –

26

Đối với Nginx: (Đường dẫn: /etc/nginx/mime.types)

font/ttf       ttf; 
font/otf       otf; 
application/x-font-woff   woff; 

Bạn không cần application/vnd.ms-fontobject eot; vì nó đã tồn tại.

Sau đó khởi động lại Nginx: service nginx restart

Done.

+1

Cảm ơn bạn đã lưu cho tôi một tìm kiếm khác trên Google :) – Simon

+1

Không có vấn đề gì với người khác :). | Nếu bạn nhận được cảnh báo với font-awesome (http://fortawesome.github.io/Font-Awesome/), chỉ cần đặt điều này trong Nginx Mime Type File của bạn: application/x-font-woff .woff – Steven

+4

Đối với tôi, ' application/font-woff' đã hoạt động. – ep0

10

loại MIME đúng cho các phông chữ là:

application/font-ttf    ttf; 
application/font-otf    otf; 
application/font-woff    woff; 
+0

Điều này cuối cùng đã làm việc! –

3

Nếu bạn chạy một máy chủ với nodeJS, đây là một mô-đun đẹp để ánh xạ kiểu MIME của bạn

https://github.com/broofa/node-mime

var mime = require('mime'); 

mime.lookup('/path/to/file.txt');   // => 'text/plain' 
mime.lookup('file.txt');     // => 'text/plain' 
mime.lookup('.TXT');      // => 'text/plain' 
mime.lookup('htm');      // => 'text/html' 

mime.extension('text/html');     // => 'html' 
mime.extension('application/octet-stream'); // => 'bin' 
+0

Tôi đã thêm các yếu tố cần thiết – Daan

1

Nhờ @ the-senator và @ 97ldave cho câu trả lời của họ

cho tôi những lỗi hoàn toàn biến mất chỉ sau khi thêm những dòng này vào web.config

<system.webServer> 
<staticContent> 
     <remove fileExtension=".woff" /> 
     <mimeMap fileExtension=".woff" mimeType="application/x-font" /> 
     <remove fileExtension=".woff2" /> 
     <mimeMap fileExtension=".woff2" mimeType="application/x-font" /> 
    </staticContent> 
</system.webServer> 
Các vấn đề liên quan