2012-02-19 24 views
17

Tôi đang sử dụng một số Phông chữ web của Google. Tôi nghe nói rằng Google xử lý tất cả các vấn đề giữa các trình duyệt khác nhau và phục vụ các phương tiện khác nhau tùy thuộc vào trình duyệt trong tiêu đề yêu cầu.Tôi có nên lưu trữ cục bộ CSS được tạo bởi API Google Web Fonts không?

Câu hỏi của tôi là, tại thời điểm nào nó thực hiện việc này?

Lý do là đối với API, bạn có thể chỉ cần bao gồm tệp CSS có chứa yêu cầu @font-face. Tôi có thể chỉ cần bao gồm CSS đó trong tệp CSS của riêng tôi, do đó lưu yêu cầu HTTP hoặc CSS đó có thay đổi tùy thuộc vào trình duyệt yêu cầu không?

Tôi thực sự hy vọng điều đó có ý nghĩa.

Ví dụ, Google đề nghị bạn bao gồm trong file CSS của bạn:

@import url(http://fonts.googleapis.com/css?family=Exo);

các nội dung trong đó là:

@font-face { 
    font-family: 'Exo'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Exo Regular'), local('Exo-Regular'), url('http://themes.googleusercontent.com/static/fonts/exo/v1/ZcGd2dvMSgl3mHN3lKAjNw.woff') format('woff'); 
} 
+0

Xem thêm http://stackoverflow.com/questions/7203871/google-fonts-external-css-vs-copying-the-code-of-external-css-in-my-css –

Trả lời

26

CSS được cung cấp bởi Google Webfonts thay đổi tùy thuộc vào tác nhân người dùng trong tiêu đề yêu cầu HTTP, vì vậy bạn nên sử dụng @import. Lý do là việc triển khai các phông chữ web khác nhau trong các trình duyệt khác nhau.

+1

Về mặt kỹ thuật, câu trả lời cho câu hỏi của tôi. Cảm ơn. – Cheetah

8

Không phải là câu trả lời cho câu hỏi chính xác của bạn, nhưng ngay cả khi hiện tại, tôi sẽ không bao giờ lưu trữ cục bộ bất kỳ CSS nào mà Google phân phát "trực tiếp" bởi vì:

  • thậm chí nếu nó hoạt động bây giờ, nó có thể phá vỡ sau này nếu họ thay đổi một cái gì đó

  • bạn không thêm bất kỳ độ tin cậy, bởi vì phông chữ riêng của mình vẫn phải được lấy từ Google

  • bạn không thực sự cải thiện hiệu suất nhiều: nếu mọi thứ được định cấu hình đúng, yêu cầu HTTP sẽ chỉ xảy ra một lần và được lưu vào bộ nhớ cache sau đó. Ngoài ra, người dùng có thể có CSS ​​phông chữ được lưu trong bộ nhớ cache từ một trang web khác sử dụng Google Fonts.

+0

Ừ mà không có lý. Cảm ơn. – Cheetah

+0

Không chịu đựng điểm thứ ba của bạn, nếu phông chữ cũng được phục vụ bởi máy chủ cục bộ, nó có ý nghĩa để có CSS ​​cũng cư trú tại địa phương. Ngoài ra, vì bạn đã đề cập đến từ "trực tiếp", tôi muốn lưu trữ nội dung "trực tiếp" cục bộ để cho phép trải nghiệm người dùng nhất quán trên trang web của tôi thay vì bị hỏng khi Google quyết định thay đổi điều gì đó mà họ biết. .. rất nhiều! – Sterex

+0

Đọc tất cả các lệnh của bạn Tôi sẽ đề xuất yêu cầu proxy tới phông chữ Google (cho tốc độ) và lưu vào bộ nhớ cache kết quả (để có thể thay đổi khi chúng đến) – AsTeR

1

Nếu bạn muốn lưu trữ CSS cục bộ, bạn cũng phải lưu trữ phông cục bộ vì nếu không nó sẽ lại có yêu cầu HTTP bổ sung.

Và Google cho phép tải xuống phông chữ để sử dụng cục bộ nhưng bạn cũng có thể kiểm tra web. https://developers.google.com/webfonts/faq

Các vấn đề liên quan