คุณต้องรวม <link rel =“ icon” href =“ favicon.ico” type =“ image / x-icon” /> หรือไม่


205

ฉันไม่ได้รวมบรรทัดของรหัสต่อไปนี้ในแท็กหัวของฉัน แต่ favicon ของฉันยังคงปรากฏในเบราว์เซอร์ของฉัน:

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

จุดประสงค์ของการรวมมันคืออะไร?

คำตอบ:


174

หากคุณไม่เรียก favicon favicon.icoคุณสามารถใช้แท็กนั้นเพื่อระบุเส้นทางที่แท้จริง (ในกรณีที่คุณมีอยู่ในimages/ไดเรกทอรี) เบราว์เซอร์ / เว็บเพจค้นหาfavicon.icoในไดเรกทอรีรากโดยค่าเริ่มต้น


3
หรือถ้าคุณไม่มี favicon.ico ในโฟลเดอร์ root แต่ในเช่นโฟลเดอร์สินทรัพย์
โหวต

121

ในความเป็นจริงคุณควรทำทั้งสองอย่างเพื่อให้เบราว์เซอร์ทั้งหมดจะพบไอคอน

การตั้งชื่อไฟล์ "favicon.ico" และวางไว้ในรูทของเว็บไซต์ของคุณเป็นวิธี "ท้อ" โดย W3C:

วิธีที่ 2 (ท้อแท้): การวาง favicon ไว้ที่ URI ที่กำหนดไว้ล่วงหน้า
วิธีที่สองสำหรับการระบุ favicon นั้นอาศัยการใช้ URI ที่กำหนดไว้ล่วงหน้าเพื่อระบุภาพ: "/ favicon" ซึ่งสัมพันธ์กับรูทเซิร์ฟเวอร์ วิธีนี้ใช้งานได้เนื่องจากเบราว์เซอร์บางตัวได้รับการโปรแกรมให้ค้นหา favicons โดยใช้ URI นั้น
W3C - วิธีเพิ่ม favicon ให้กับเว็บไซต์ของคุณ

ดังนั้นเพื่อครอบคลุมทุกสถานการณ์ฉันมักจะทำเช่นนั้นนอกเหนือจากวิธีที่แนะนำในการเพิ่มแอตทริบิวต์ "rel" และชี้ไปที่ไฟล์. ico เดียวกัน


8
ใช่นี่เป็นคำตอบที่ถูกต้องมากกว่านี้ ไม่มีมาตรฐานที่เกี่ยวข้องกับการใส่favicon.icoรูท แต่เบราว์เซอร์ส่วนใหญ่จะขอไฟล์ดังกล่าวโดยอัตโนมัติด้วยเหตุผลทางประวัติศาสตร์
FabrícioMatté

10
เหตุผลที่เหมาะสมสำหรับการทำเช่นนี้ไม่ใช่เพราะมันใช้งานได้ในบางสถานการณ์แต่เนื่องจากวิธีที่ดีกว่านั้นใช้ไม่ได้ในบางสถานการณ์
Jasper

2
อยากรู้อยากเห็นrealFaviconGenerator ไม่แนะนำให้ประกาศ favicon ในส่วนหัวของ HTML
Dan Dascalescu

7
Internet Explorer คิดค้น favicon และค้นหาในรูท AFAIK เบราว์เซอร์ทั้งหมดทำเช่นนี้ นี่คือเหตุผลที่ฉันแนะนำให้ใส่ favicon.ico ในรูทเพราะไม่เช่นนั้นมันจะคืน 404 และระบบส่วนใหญ่จะไม่แคชที่ ... ดังนั้นมันจึงร้องขออยู่เสมอ ใส่ไอคอนที่นั่นและจะถูกแคชอย่างเหมาะสม
Stijn de Witt

50

ฉันใช้มันด้วยเหตุผลสองประการ:

  1. ?v=2ฉันสามารถบังคับฟื้นฟูของไอคอนโดยการเพิ่มพารามิเตอร์การสืบค้นตัวอย่างเช่น แบบนี้: <link rel="icon" href="https://stackoverflow.com/favicon.ico?v=2" type="image/x-icon" />

  2. ในกรณีที่ฉันต้องระบุเส้นทาง


ยอดเยี่ยมในที่สุดคิดออกว่าทำไมมันไม่แสดง!
whamsicore

ฉันแน่ใจว่านี่เป็นเพียงการพิมพ์ผิด แต่คุณมี href ที่เกี่ยวข้องซึ่งหมายความว่ามันจะไม่ทำงานเว้นแต่ว่าทุกหน้าของคุณจะอยู่ในระดับบนสุดหรือคุณมีไฟล์ favicon.ico ในทุกไดเรกทอรีย่อย
Chris Cogdon

FYI ถึงผู้อ่านในภายหลังความคิดเห็นของ Chris Cogdon ได้รับการแก้ไขในการแก้ไข "9 ก.ย. '16 ที่ 5:05" ดังนั้นจึงไม่มีปัญหาอีกต่อไป
Daryn

13

เพียงเพิ่มไปยังโฟลเดอร์รากทำงานหลังจากแฟชั่น แต่ฉันพบว่าถ้าฉันต้องการเปลี่ยน favicon อาจต้องใช้เวลาหลายวันในการอัปเดต ... แม้การรีเฟรชแคชจะไม่ใช้กลอุบาย


อย่าลืม Ctrl-C & สร้างใหม่
เจสันกลาส

9

หลายคนกำหนดเส้นทางคุกกี้เป็น / นั่นจะทำให้ทุกคำขอ favicon ส่งสำเนาของคุกกี้เว็บไซต์อย่างน้อยในโครเมียม การระบุชื่อ favicon ของคุณให้กับโดเมนที่ไม่มีเนื้อหาควรแก้ไขให้ถูกต้อง

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

นี่อาจเป็นเหตุผลที่เป็นไปได้มากที่สุดในการเพิ่มลิงค์

ข้อมูลเกี่ยวกับการตั้งค่าโดเมนที่ทำไม่ได้:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.