Bạn có phải bao gồm <link rel = biểu tượng của Wap href = khăn favicon.ico Kiểu loại = hình ảnh / x-biểu tượng hình ảnh />?


205

Tôi đã không bao gồm dòng mã sau trong thẻ đầu của mình, tuy nhiên favicon của tôi vẫn xuất hiện trong trình duyệt của tôi:

<link rel="icon" href="favicon.ico" type="image/x-icon" />

Mục đích của việc bao gồm nó là gì?

Câu trả lời:


174

Nếu bạn không gọi favicon, favicon.icobạn có thể sử dụng thẻ đó để chỉ định đường dẫn thực tế (trong trường hợp bạn có nó trong một images/thư mục). Trình duyệt / trang web tìm favicon.icotrong thư mục gốc theo mặc định.


3
hoặc nếu bạn không có favicon.ico trong thư mục gốc nhưng trong thư mục tài sản
Upvote

122

Thực tế bạn nên làm cả hai, để tất cả các trình duyệt sẽ tìm thấy biểu tượng.

Đặt tên tệp là "favicon.ico" và đặt nó vào thư mục gốc của trang web của bạn là phương pháp "không khuyến khích" của W3C:

Phương pháp 2 (Không khuyến khích): Đặt favicon vào URI được xác định trước
Phương pháp thứ hai để chỉ định favicon dựa vào việc sử dụng URI được xác định trước để xác định hình ảnh: "/ favicon", liên quan đến gốc máy chủ. Phương pháp này hoạt động vì một số trình duyệt đã được lập trình để tìm kiếm favicon bằng URI đó.
W3C - Cách thêm favicon vào trang web của bạn

Vì vậy, để bao quát tất cả các tình huống, tôi luôn luôn làm điều đó ngoài phương pháp được đề xuất là thêm thuộc tính "rel" và trỏ nó vào cùng một tệp .ico.


8
Vâng, đây là một câu trả lời đúng hơn. Không có tiêu chuẩn nào liên quan đến việc chỉ cần đặt một favicon.icoroot, nhưng hầu hết các trình duyệt sẽ yêu cầu tệp nói tự động vì lý do lịch sử.
Fabrício Matté

10
Lý do thích hợp để làm điều này không phải vì nó hoạt động trong một số tình huống , mà bởi vì phương pháp tốt hơn không hoạt động trong một số tình huống
Jasper

2
Thật kỳ lạ, realFaviconGenerator khuyên bạn không nên khai báo favicon trong phần đầu HTML.
Dan Dascalescu

7
Internet Explorer đã phát minh ra favicon và tìm kiếm nó trong thư mục gốc. AFAIK, tất cả các trình duyệt làm điều này. Đây là lý do tại sao tôi khuyên bạn nên đặt favicon.ico vào thư mục gốc, vì nếu không, nó sẽ trả về 404 và hầu hết các hệ thống không lưu trữ bộ đệm đó ... vì vậy nó tiếp tục yêu cầu nó. Đặt một biểu tượng ở đó và nó sẽ được lưu trữ đúng cách.
Stijn de Witt

50

Tôi sử dụng nó vì hai lý do:

  1. Tôi có thể buộc làm mới biểu tượng bằng cách thêm một tham số truy vấn chẳng hạn ?v=2. như thế này: <link rel="icon" href="https://stackoverflow.com/favicon.ico?v=2" type="image/x-icon" />

  2. Trong trường hợp tôi cần chỉ định đường dẫn.


Tuyệt vời, cuối cùng đã tìm ra lý do tại sao nó không hiển thị!
whamsicore

Tôi chắc chắn đây chỉ là một lỗi đánh máy, nhưng bạn có một người thân ở đó, nghĩa là nó sẽ không hoạt động trừ khi tất cả các trang của bạn ở cấp cao nhất hoặc bạn có tệp favicon.ico trong mọi thư mục con.
Chris Cogdon

FYI cho các độc giả sau này, bình luận của Chris Cogdon đã được sửa trong bản chỉnh sửa "ngày 9 tháng 9 năm 16 lúc 5:05", vì vậy không còn là vấn đề nữa
Daryn

13

Đơn giản chỉ cần thêm nó vào thư mục gốc hoạt động sau một thời trang, nhưng tôi đã thấy rằng nếu tôi cần thay đổi favicon, có thể mất vài ngày để cập nhật ... ngay cả việc làm mới bộ đệm cũng không thực hiện được.


Đừng quên Ctrl-C & Rebuild.
Jason Glass

9

Nhiều người đặt đường dẫn cookie của họ thành /. Điều đó sẽ khiến mọi yêu cầu favicon gửi một bản sao của cookie trang web, ít nhất là bằng chrome. Địa chỉ favicon của bạn đến miền vô dụng của bạn nên sửa điều này.

<link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" />

Tùy thuộc vào lượng lưu lượng truy cập bạn nhận được, đây có thể là lý do thực tế nhất để thêm liên kết.

Thông tin về việc thiết lập một miền vô dụng:

http://www.ravelrumba.com/blog/static-cookieless-domain/

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.