Cách tốt nhất để tạo biểu tượng yêu thích trên một trang web là gì?


103

Câu hỏi

  • Thực hành tốt nhất để tạo là gì favicon trên một trang web?
  • và tệp .ico có cả hình ảnh 16x16 và 32x32 có tốt hơn tệp .png chỉ có 16x16 không?
  • Có thể phương pháp phù hợp được ưa thích hiện nay không hoạt động trong các trình duyệt cũ hợp lý không?

Phương pháp 1

Đặt một tệp có tên favicon.icotrong thư mục chính là một cách. Trình duyệt luôn yêu cầu tệp đó. Bạn có thể thấy điều đó trong các tệp nhật ký apache.

Phương pháp 2

Thẻ HTML trong <head>phần:

<link rel="shortcut icon" href="/images/favicon.png (or ico?)" type="image/x-icon" />

Câu trả lời:


153

Có một số cách để tạo biểu tượng yêu thích. Cách tốt nhất cho bạn phụ thuộc vào các yếu tố khác nhau:

  • Thời gian bạn có thể dành cho nhiệm vụ này. Đối với nhiều người, điều này là "càng nhanh càng tốt".
  • Những nỗ lực bạn sẵn sàng thực hiện. Giống như vẽ biểu tượng 16x16 bằng tay để có kết quả tốt hơn.
  • Các ràng buộc cụ thể, như hỗ trợ một trình duyệt cụ thể với các thông số kỹ thuật kỳ lạ.

Phương pháp đầu tiên: Sử dụng trình tạo biểu tượng yêu thích

Nếu bạn muốn hoàn thành công việc tốt và nhanh chóng, bạn có thể sử dụng trình tạo favicon . Cái này tạo ra hình ảnh và mã HTML cho tất cả các trình duyệt chính trên máy tính để bàn và điện thoại di động. Tiết lộ đầy đủ: Tôi là tác giả của trang web này.

Ưu điểm của giải pháp như vậy: nó nhanh chóng và tất cả các cân nhắc về khả năng tương thích đã được giải quyết cho bạn.

Phương pháp thứ hai: Tạo favicon.ico (chỉ dành cho trình duyệt trên máy tính để bàn)

Như bạn đề xuất, bạn có thể tạo một favicon.icotệp có chứa ảnh 16x16 và 32x32 (lưu ý rằng Microsoft khuyến nghị 16x16, 32x32 và 48x48 ).

Sau đó, khai báo nó trong mã HTML của bạn:

<link rel="shortcut icon" href="/path/to/icons/favicon.ico">

Phương pháp này sẽ hoạt động với tất cả các trình duyệt máy tính để bàn, cũ và mới. Nhưng hầu hết các trình duyệt di động sẽ bỏ qua biểu tượng yêu thích.

Về đề xuất của bạn về việc đặt favicon.ico tệp trong thư mục gốc và không khai báo nó: hãy cẩn thận, mặc dù kỹ thuật này hoạt động trên hầu hết các trình duyệt, nhưng nó không đáng tin cậy 100%. Ví dụ: Windows Safari không thể tìm thấy nó (được cấp: trình duyệt này bằng cách nào đó không được dùng nữa trên Windows, nhưng bạn hiểu rồi). Kỹ thuật này rất hữu ích khi kết hợp với các biểu tượng PNG (cho các trình duyệt hiện đại).

Phương pháp thứ ba: Tạo favicon.ico, một biểu tượng PNG và một biểu tượng Apple Touch (tất cả các trình duyệt)

Trong câu hỏi của bạn, bạn không đề cập đến các trình duyệt di động. Hầu hết trong số họ sẽ bỏ qua favicon.icotệp. Mặc dù trang web của bạn có thể dành riêng cho các trình duyệt trên máy tính để bàn, nhưng rất có thể bạn không muốn bỏ qua các trình duyệt dành cho thiết bị di động.

Bạn có thể đạt được khả năng tương thích tốt với:

  • favicon.ico, xem ở trên.
  • Biểu tượng PNG 192x192 cho Android Chrome
  • Biểu tượng Apple Touch 180x180 (dành cho iPhone 6 Plus; thiết bị khác sẽ thu nhỏ lại khi cần).

Khai báo chúng với

<link rel="shortcut icon" href="/path/to/icons/favicon.ico">
<link rel="icon" type="image/png" href="/path/to/icons/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/path/to/icons/apple-touch-icon-180x180.png">

Đây không phải là câu chuyện đầy đủ, nhưng nó đủ hay trong hầu hết các trường hợp.


9
Trên thực tế, <link rel = "shortcut icon" href = "/ path / to / icon / favicon.ico"> vẫn thường được sử dụng không phải là một tùy chọn hợp lệ. Nó thậm chí không phải là tiêu chuẩn và chỉ IE hỗ trợ nó. Và kể từ IE 9, IE hỗ trợ phương pháp 'xem tại gốc' mặc định. Vì vậy, nó không phải là một cách để hỗ trợ tất cả các trình duyệt, mà chỉ là một cách để hỗ trợ IE <9. Dựa vào phương pháp (hiện là tiêu chuẩn) 'đặt trong thư mục gốc' hoặc, nếu bạn nhấn mạnh, hãy thêm: <link rel = "icon" href = "/ favicon.ico"> (Mặc dù tiêu chuẩn này isnt một trong hai)
HappyMe

7
Cơ chế favicon chắc chắn đã phát triển trong những năm qua. Hôm nay tôi nhận thấy thông số kỹ thuật tại MDN hiện cho biết: Loại liên kết tắt thường thấy trước biểu tượng, nhưng loại liên kết này không phù hợp, bị bỏ qua và các tác giả web không được sử dụng nó nữa. Có nghĩa là sử dụng <link ref="icon" ...>thay vì <link ref="shortcut icon" ...> developer.mozilla.org/en-US/docs/Web/HTML/Link_types
broc.seib Ngày

1
Cảm ơn bạn @ broc.seib đã phản hồi. Tại thời điểm viết bình luận này, tôi đã mất dấu tại sao nó là "biểu tượng phím tắt" chứ không phải "biểu tượng". Chắc chắn, Mozilla có tiếng nói của mình trong câu chuyện này. Nhưng chúng ta không được quên lý do tại sao tuyên bố này ở đây ngay từ đầu: để hỗ trợ các trình duyệt cũ, chẳng hạn như IE 8. Hầu hết các trình duyệt gần đây sử dụng biểu tượng PNG, rõ ràng và nhẹ hơn ICO. Kế hoạch của tôi cho RealFavicon là loại bỏ hoàn toàn tuyên bố này. Trước đó, tôi cần phải chạy thử nghiệm trên trình duyệt IE 7, 8 và 9.
philippe_b

Chưa kể, nếu bạn "xem nguồn" trên trang này, trên Stack Overflow, ref="shortcut icon"thì đó chính xác là những gì họ sử dụng.
Steven Ventimiglia

1
@laggingreflex /favicon.icolà phương pháp được ưu tiên. Đây là những gì bạn nhận được khi truy cập www.google.com. Tuy nhiên, bạn có thể không muốn gây ô nhiễm thư mục gốc của mình bằng một biểu tượng. Trong trường hợp đó, đánh dấu hoạt động tốt.
philippe_b

2
  1. bạn có thể làm việc với trang web này để tạo favin.ico
  2. Tôi khuyên bạn nên sử dụng định dạng .ico vì png không hoạt động với phương pháp 1 và ico có thể có nhiều chi tiết hơn!
  3. cả hai phương pháp đều hoạt động với tất cả các trình duyệt nhưng khi nó tự động hoạt động, bạn muốn nhập mã cho nó? vì vậy tôi nghĩ rằng phương pháp 1 là tốt hơn.

2

Tôi đã sử dụng https://iconifier.net Tôi đã tải lên hình ảnh của mình, tải xuống tệp zip hình ảnh, thêm hình ảnh vào máy chủ của tôi, làm theo các hướng dẫn trên trang web bao gồm thêm các liên kết vào index.html của tôi và nó đã hoạt động. Biểu tượng yêu thích của tôi hiện hiển thị trên iPhone của tôi trong Safari khi 'Thêm vào màn hình chính'

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.