ฉันจะบังคับให้รีเฟรช favicon ได้อย่างไร?


1535

ฉันมีแอปพลิเคชั่น Grails ที่ใช้งานในพื้นที่โดยใช้โพงของตัวเองและฉันเพิ่งเปลี่ยน favicon สำหรับแอพใหม่ ปัญหาคือฉันไม่สามารถดูได้ในเบราว์เซอร์ใด ๆ favicon เก่าปรากฏขึ้นหรือฉันไม่ได้รับ favicon เลย แต่ไม่ใช่ของใหม่ ฉันไม่คิดว่านี่เป็นปัญหา Grails ต่อ se ยิ่งมีปัญหากับ favicons มากขึ้น

สิ่งที่ควรจะเกิดขึ้นกับ favicons? พวกเขาควรทำงานอย่างไร ฉันมีบุ๊กมาร์กจำนวนมากในเบราว์เซอร์ที่มีไอคอนผิดและดูเหมือนว่าพวกเขาจะไม่รีเฟรชเลย ฉันจะบังคับให้เซิร์ฟเวอร์ / เบราว์เซอร์หยุดการแคชได้อย่างไร ดูเหมือนว่ามันค่อนข้างโง่ที่จะแคชพวกมันเสมอเพราะโดยปกติแล้วมันจะมีขนาด 16x16 เท่านั้น ทำไมไม่เพียงอัปโหลดพวกเขาทุกครั้งที่ไปที่หน้า? มันไม่ได้เป็นค่าใช้จ่ายมากอย่างแน่นอน


12
โซลูชันที่ได้รับการยอมรับและมีระดับสูงไม่ใช่โซลูชันที่แท้จริง สาเหตุที่แท้จริงที่ทำให้การรีเฟรชไม่สามารถพบได้ในโซลูชันของคำถามนี้: stackoverflow.com/questions/8616016/ … --- ไอคอนแคชอยู่ในไฟล์ sqlite DB ซึ่งเป็นอิสระจากแคชของเบราว์เซอร์!
Mörre

8
โซลูชันที่ได้รับการยอมรับและได้รับความนิยมสูงเป็นโซลูชันสำหรับการผลิตหรือฉันจะเขียนบทช่วยสอนสำหรับผู้ใช้ถึงวิธีการล้างแคช favicon ของพวกเขาเมื่อใดก็ตามที่เราอัปเดต favicon เพื่อการผลิต
Miroslav Saracevic

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

คำตอบ:


2088

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

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

35
นี้ได้เคล็ดลับสำหรับฉัน. ฉันต้องลบออกtype="image/x-icon"จากรหัสของฉันตรงกันข้ามกับหลายแหล่ง ฉันใช้การประทับเวลาที่แก้ไขไฟล์สำหรับv?=2ส่วนของแบบสอบถาม
Wertisdk

10
ฉันได้พบว่าในบางเบราว์เซอร์ favicon ไม่ได้ทำการอัปเดตไม่ว่าจะเกิดอะไรขึ้นถ้าฉันไม่ลบประวัติ จากนั้นจะบันทึก favicon ใหม่
ผู้เบิกทาง

6
น่าเสียดายที่คุณต้องการ URL แบบเต็มที่ผ่านการรับรองสำหรับ IE7 (& IE8?) - ดูjeffcode.blogspot.com.au/2007/12/…
eug

5
เห็นด้วยกับความคิดเห็นข้างต้น แต่สิ่งนี้ใช้ได้กับฉันในเบราว์เซอร์ปัจจุบันทั้งหมด: <link rel = "ไอคอนทางลัด" href = "/ favicon.ico? v = 2" />
Dave Sumter

31
มันสมเหตุสมผลแล้วที่จะแคช favicons เพราะบางครั้งพวกมันดันขนาด 2-3 กิโลไบท์ คุณไม่ต้องการที่จะถ่ายโอนข้อมูลทั้งหมดนั้นต่อไป (ใช่เสียดสี)
แมวแบน

823

ตกลงหลังจากพยายาม 10 นาทีวิธีที่ง่ายในการแก้ไขก็คือใกล้กับแนวของนก

  1. พิมพ์ www.yoursite.com/favicon.ico (หรือ www.yoursite.com/apple-touch-icon.png เป็นต้น)
  2. ดัน enter
  3. ctrl+f5
  4. รีสตาร์ทเบราว์เซอร์ (IE, Firefox)

8
ใช้วิธีนี้คุณอาจเอาชนะการแคช แต่ผู้ใช้ปัจจุบันของคุณไม่สามารถ ดังนั้นฉันคิดว่าคำตอบอื่น ๆ มีค่ามากกว่า
Demircan Celebi

3
น่าสังเกตว่านี่ใช้ไม่ได้กับ Firefox 33 คำตอบแรกคือตัวเลือกที่ดีกว่า
Brent Wagoner

1
ฉันต้องปิดเครื่องมือพัฒนาเพื่อให้สามารถใช้งานได้ใน Chrome
tehwalris

1
ฉันไม่ต้องรีสตาร์ทเบราว์เซอร์ แต่ฉันต้องไปยังเว็บไซต์ของฉันในแท็บโดยไม่ต้องเปิด devtools ด้วยเหตุผลบางอย่าง Ctrl + F5'ing ในแท็บที่ไม่ใช่ devtools ก็ทำได้ ฉันสามารถ Ctrl + F5 ทั้งหมดที่ฉันต้องการและนำทางไปทั่วอินเทอร์เน็ตและกลับไปที่ไซต์ของฉันได้มากเท่าที่ฉันต้องการในแท็บ devtools และมันจะไม่อัปเดต favicon เลย
mjohnsonengr

3
ส่วน "เริ่มเบราว์เซอร์" เป็นสิ่งเดียวที่ทำให้ใช้งานได้จริงสำหรับฉัน การแก้ไขอื่น ๆ ทั้งหมดใช้งานได้ในทางทฤษฎี แต่ไม่สามารถเปลี่ยนพิกเซล favicon ที่แสดงบนแท็บเบราว์เซอร์ได้ +1 คำตอบนี้
b264

262

คำตอบนี้ยังไม่ได้รับดังนั้นฉันคิดว่าฉันโพสต์ไว้ ฉันมองไปรอบ ๆ เว็บและไม่พบคำตอบที่ดีสำหรับการทดสอบ favicons ในการพัฒนาท้องถิ่น

ใน Chrome รุ่นปัจจุบัน (บน OSX) หากคุณทำสิ่งต่อไปนี้คุณจะได้รับการรีเฟรช favicon ทันที:

  1. วางเมาส์เหนือแท็บ
  2. คลิกขวา
  3. เลือกโหลดซ้ำ
  4. ขณะนี้ favicon ของคุณควรได้รับการรีเฟรช

นี่เป็นวิธีที่ง่ายที่สุดที่ฉันพบเพื่อรีเฟรช favicon ในพื้นที่


1
น่าเสียดายที่นี่ใช้งานไม่ได้ใน IE หรือแม้แต่ Chrome บน Windows ดังนั้นดูเหมือนว่าคุณควรไปกับคำตอบที่ได้รับการยอมรับเว้นแต่ว่าคุณใช้ Chrome บน OSX เท่านั้น
Christopher King

3
ใช้งานได้ใน OS X Sierra พร้อม Chrome 53.0.2785.143 (64 บิต)
Seno

1
ใช้งานได้สำหรับฉัน: Chrome 58.0.3029.110, Windows 10, localhost
R Brill

1
ทำงานกับ Chrome 63.0.3239.84 สำหรับ Windows 10!
beawolf

4
ใช้งานได้ใน Chrome 67.0 บน OSX แปลกไม่ทำงานกับCMD+ Shift+R
cephei_vv

56

เปลี่ยนชื่อไฟล์ favicon และเพิ่มส่วนหัว html ด้วยชื่อใหม่เช่น:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />

4
ฉันจะถือว่าเบราว์เซอร์สามารถดูว่าชื่อ favicon เหมือนกันหรือไม่ ถ้ามันไม่ได้ร้องขอให้ดาวน์โหลดอีกครั้งและจะใช้แคชแล้ว แต่ถ้าคุณเปลี่ยนชื่อมันจะถือว่ามันมีการเปลี่ยนแปลงดังนั้นขอจากเซิร์ฟเวอร์
Bojan Kogoj

ฉันมีปัญหากับ IE8 ไม่ได้ใช้ favicon.ico ที่อยู่ในโฟลเดอร์ย่อย การเพิ่ม rel-attribute 'ทางลัด' ได้รับการแก้ไข
tienbuiDE

3
นั่นไม่สดชื่นเลยเปลี่ยนมันเป็นใหม่อย่างสมบูรณ์
Zac

โปรดทราบว่าคุณต้องเปลี่ยนชื่อ favicon.ico จริงของคุณด้วย (มันจะอยู่ในโฟลเดอร์สร้างของคุณหรือไดเรกทอรีที่มีการให้บริการ webapp)
Rahil Ahmad

55

หากคุณใช้ PHP คุณสามารถใช้ MD5-Hash ของ favicon เป็นเคียวรีสตริงได้

<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />

วิธีนี้ Favicon จะรีเฟรชทุกครั้งเมื่อมีการเปลี่ยนแปลง

ตามที่ระบุไว้ในความคิดเห็นคุณสามารถใช้วันที่แก้ไขล่าสุดแทน MD5-Hash เพื่อให้ได้สิ่งเดียวกันและบันทึกประสิทธิภาพของเซิร์ฟเวอร์เล็กน้อย:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />

2
ดีนี้หลีกเลี่ยงความต้องการที่จะเปลี่ยน href ทุกครั้งที่ฉันปรับปรุง favicon คำตอบนี้ควรมีคะแนนโหวตมากขึ้น!
Sven van den Boogaart

44
ปัญหาของคำตอบนี้คือคุณกำลังคำนวณแฮชนั้นในทุกคำขอและนั่นเป็นสิ่งที่ไม่จำเป็นและอาจส่งผลเสียต่อประสิทธิภาพของไซต์ (หากมีผู้ใช้จำนวนมาก)
Diego Jancic

1
มันไม่ได้เป็นเรื่องใหญ่ทั้งในแง่ ... favicon เพียงไม่กี่กิโล ... ฉันหมายความว่ามันจะไม่เครียดบนเซิร์ฟเวอร์น้อยกว่าเซิร์ฟเวอร์ favicon ในแต่ละครั้ง ...
Philippe Gilbert

14
ฉันยังไม่เห็นเหตุผลที่แท้จริงในการคำนวณ MD5 ง่ายและมีประสิทธิภาพในการใช้วันที่แก้ไขล่าสุดของไฟล์ ฉันไม่เห็นประโยชน์ของการใช้ MD5 กับตราประทับที่แก้ไขล่าสุด
NickG

9
คุณอัพเดต favicon ของคุณบ่อยแค่ไหน? ดูเหมือนว่ามากเกินไป เพียงใช้สตริงข้อความค้นหาแบบแมนนวลเมื่อคุณสร้างไอคอนใหม่
เลขศูนย์และ

51

โดยการทำลายไฟล์ที่เบราว์เซอร์ของคุณใช้เพื่อเก็บ favicons เก่าคุณสามารถบังคับให้โหลดไฟล์ใหม่ได้

  1. ปิดเบราว์เซอร์ของคุณ ตรวจสอบให้แน่ใจว่าไม่มีเบราว์เซอร์ที่ทำงานอีกต่อไป (เช่นตรวจสอบตัวจัดการงานสำหรับchrome.exeหรือfirefox.exe)
  2. นำทางไปยังตำแหน่งที่เบราว์เซอร์ของคุณเก็บไฟล์ผู้ใช้:
    • สำหรับ Chrome ให้ไปที่ไดเรกทอรีข้อมูล Chrome
    • สำหรับ Firefox ไปที่โฟลเดอร์โปรไฟล์ของ Firefox
  3. ลบแคช favicon
    • สำหรับ Chrome ให้ลบFaviconsและFavicons-journal
    • สำหรับ Firefox ลบ favicons.sqlite

มันจะใช้งานได้อย่างแน่นอน ถ้าไม่:

  • ความเป็นไปได้ที่ 1: การอัพเดตในเบราว์เซอร์ของคุณเปลี่ยนวิธีการทำงานของแคช favicon โปรดแก้ไขคำตอบนี้ด้วยคำแนะนำใหม่
  • ความเป็นไปได้ที่ 2: ปัญหา favicon ของคุณไม่มีส่วนเกี่ยวข้องกับการแคชมากเกินไป อาจเป็นปัญหาในการโหลดทรัพยากร - โดยใช้เครื่องมือสำหรับนักพัฒนาตรวจสอบให้แน่ใจว่า favicon ใหม่ดาวน์โหลดอย่างถูกต้อง

นี่เป็นการหลอกลวง สำหรับฉันนี่เป็นปัญหา favicon ของแอปพลิเคชัน Google Chrome ไม่ใช่ปัญหาจาก favicon ของ DOM
klewis

2
นี่เป็นคำตอบที่ดีที่ตรงกับความต้องการของฉันสำหรับการทดสอบ ไม่มีคำตอบที่แท้จริงสำหรับคำถามนี้เพราะมันขึ้นอยู่กับว่าใครต้องการรีเฟรชและสิ่งที่พวกเขาเต็มใจและสามารถทำได้อย่างสมเหตุสมผล
Dovev Hefetz

1
การปรับปรุงเพียงเล็กน้อย: เส้นทางเดียวกันสำหรับชื่อผู้ใช้คือ%appData%/../Local/Google/Chrome/User Data/Default
josemmo

3
วิธีที่ง่ายกว่าใน Chrome คือคลิกขวาและเลือกตรวจสอบ (หรือ CTRL + SHIFT + I) จากนั้นคลิกปุ่มรีเฟรชค้างไว้ เมนูจะปรากฏขึ้นพร้อมตัวเลือกในการรีเฟรชฮาร์ดโหลดซ้ำหรือแคชว่างเปล่าและฮาร์ดโหลดซ้ำ โดยปกติแล้วการโหลดฮาร์ดจะทำ แต่ถ้าดื้อด้วยเหตุผลบางอย่างแคชที่ว่างเปล่าและการโหลดฮาร์ดจะทำอย่างแน่นอน
felwithe

1
บน Linux คุณสามารถค้นหาไฟล์เหล่านี้ได้ที่:~/.config/google-chrome/Default
Arnold Schrijver

29

ใน Chrome บน Mac OS X สามารถลบไฟล์ด้วย favicon cache

${user.home}/Library/Application Support/Google/Chrome/Default/Favicons 

1
วิธีนี้ใช้ได้ผลสำหรับฉัน ด้วยเหตุผลบางอย่างมันไม่ได้ทำให้สดชื่น favicon ด้วยวิธีการดังกล่าวข้างต้นด้วยคะแนนเสียงมากขึ้น ดังนั้นขอขอบคุณ Maxim Mazin ฉันแค่อยากจะกำจัด favicon เก่าที่ฉันรู้ว่าไม่มีอยู่ในโฮสต์ใหม่ของฉันอีกต่อไป
tsaulic

2
วิธีการนี้ใช้ได้ผลกับฉันบน Windows ด้วยซึ่งฉันได้ลบ favicon ออกจากแอพของฉันแล้ว แต่ Chrome ยังแสดงอยู่ ปิด Chrome ลบ "C: \ Users \ {user} \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons" จากนั้นรีสตาร์ท Chome favicon ที่ไม่ต้องการเก่าหายไป
skomisa

2
ฉันไม่มีอะไรภายใต้ "ค่าเริ่มต้น" แต่ในที่สุดฉันก็พบความหลากหลายนี้:${user.home}/Library/Application Support/Google/Chrome/Profile 1/Favicons
mdahlman

@mdahlman ตอนนี้ไม่ได้ผลสำหรับฉันหลังจากลองวิธีอื่นทั้งหมด อย่างไรก็ตามฉันได้เครื่องนี้ทำงานหลังจากติดตั้งcmd+qChrome ไปที่แถบเมนูบังคับให้เลิกใช้ Chrome อีกครั้งและรอ 2 นาทีเพื่อเปิดเบราว์เซอร์แล้วกลับไปยังไซต์ของฉัน
PrimeTimeTran

17

ค่าใช้จ่ายอยู่ที่ค่าใช้จ่าย แต่ใช่ไม่ใหญ่เกินไป

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

โซลูชัน cheapo ของฉันคือ:

  1. เยี่ยมชมไฟล์ของคุณที่http://example.com/favicon.icoในเบราว์เซอร์ของคุณ
  2. ลบ favicon.ico จาก webroot ของคุณ
  3. ไปที่http://example.com/favicon.icoอีกครั้งในเบราว์เซอร์ตรวจสอบว่าไม่มีข้อมูล
  4. อัปโหลดใหม่ไปยัง webroot ของคุณ
  5. เยี่ยมชมhttp://example.com/favicon.icoอีกครั้งในเบราว์เซอร์ตรวจสอบว่าเป็นเบราว์เซอร์ใหม่

หากลำดับนั้นใช้ไม่ได้แสดงว่ามีสิ่งอื่นเกิดขึ้น


7
สิ่งนี้ได้ผลสำหรับฉัน แต่น่าเศร้าที่เราไม่สามารถขอให้ผู้เยี่ยมชมทุกคนทำได้
talentedmrjones

3
เยี่ยมชมexample.com/favicon.icoและกด Ctrl + F5 / Ctrl + Shift + R ทำงานได้หลายครั้งสำหรับฉัน :) ขอบคุณสำหรับความคิด!
Alfonso Nishikawa

17

ขึ้นอยู่กับเบราว์เซอร์ที่จัดการแตกต่างกันไป แต่โดยทั่วไปแล้วฉันพบว่าการไปที่หน้าเริ่มต้นของไซต์และทำการรีเฟรชอย่างหนัก CTRL+ F5, โดยทั่วไปจะได้รับการอัปเดต


ผู้ใช้ Mac: CMD SHIFT 5
Gianfranco Fertino

13

บน MAC: + Shift- Rหรือกดค้างไว้Ctrlแล้วคลิกปุ่มโหลดซ้ำในเบราว์เซอร์


2
สิ่งนี้ไม่บังคับให้โหลด favicons ซ้ำ
Shammoo

1
สิ่งนี้ทำการโหลด favicon ของฉันอีกครั้ง / แก้ไขปัญหา
38819

ใช้งานได้กับ Ubuntu 16.04
uneet7

10

สำหรับ Internet Explorer มีวิธีแก้ไขปัญหาอื่น:

  1. เปิด internet explorer
  2. คลิกเมนู> เครื่องมือ> ตัวเลือกอินเทอร์เน็ต
  3. คลิกทั่วไป> ไฟล์อินเทอร์เน็ตชั่วคราว> ปุ่ม "ตั้งค่า"
  4. คลิกปุ่ม "ดูไฟล์"
  5. ค้นหาไฟล์ favicon.ico เก่าของคุณและลบทิ้ง
  6. รีสตาร์ทเบราว์เซอร์ (Internet Explorer)

9

เป็นไปได้ว่าปัญหาของเว็บเบราว์เซอร์ คุณจะต้องลบแคชของคุณจากเบราว์เซอร์ปิดเบราว์เซอร์และเปิดใหม่ ที่ควรแก้ไข

ฉันไม่เชื่อว่า favicons ของคุณจะได้รับการรีเฟรชในรายการโปรดของคุณจนกว่าคุณจะกลับไปที่หน้านั้นและสมมติว่าคุณได้ล้างแคชเบราว์เซอร์ของคุณไปแล้ว

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


3
"เว็บเบราว์เซอร์ของคุณจะไม่ออกไปที่อินเทอร์เน็ตเพื่อตรวจสอบ favicon ใหม่ด้วยตัวเอง ... ขอบคุณพระเจ้า" ทำไมจะไม่ล่ะ? ทำไมไม่รีเฟรชเวลาที่หน้าโหลด? มันเป็นภาพขนาด 2k ซึ่งก็คือถั่วลิสง มันไม่ควรล้าสมัย ความคิดแคชทั้งหมดเป็นเพียงโง่ในรูปแบบที่ยิ่งใหญ่ของสิ่งต่าง ๆ
Simon

5
developer.yahoo.com/performance/rules.htmlกล่าวถึงปัญหาที่เกี่ยวข้องกับการดาวน์โหลด favicon.ico ที่คุณอาจไม่ได้คิด คำแนะนำที่ดีมีทุกสิ่งรอบตัว การแคชเป็นเครื่องมือที่มีค่าในการทำให้เว็บไซต์ของคุณทำงานได้อย่างรวดเร็ว การแคชยังมีประโยชน์ในการทำให้เบราว์เซอร์ของคุณรู้สึกเร็วที่สุด
artlung

6
@Simon แคชคือโง่?!? ฉันหวังว่าลูกค้าของคุณจะได้เห็นว่าคุณได้เรียนรู้ถึงความสำคัญของการพัฒนาเว็บไซต์ที่ดีขึ้นตั้งแต่ปี 2010 สิ่งที่ "โง่" ไม่ใช่การแคชและการร้องขอที่ไม่จำเป็นไปยังเซิร์ฟเวอร์ของคุณ
Ed DeGagne

8

ลองเปิดในแท็บใหม่

ฉันลองหลายสิ่งข้างต้น (การรีเซ็ตแคชการรีเฟรชโดยใช้ลิงก์แท็ก ฯลฯ ) ฉันตรวจสอบ.htaccessไฟล์ของฉันและรีเซ็ตตัวแปร ExpiresByType

แต่นี่คือสิ่งที่ใช้งานได้ในที่สุดทั้งใน Chrome (25.0.x) และ Safari (6.0.1):

  1. ล้างแคช
  2. การเชื่อมโยง favicon กับ<link>แท็กอย่างหนัก
  3. การนำทางไปยัง mysite.com/favicon.ico
  4. เปิดmysite.comในแท็บใหม่

(จนถึงขั้นตอนที่ 3 การรีเฟรชในแท็บเดียวกันจะทำซ้ำไอคอนเดิม)


8

สำหรับ Chrome บน macOS หากคุณไม่ต้องการลบฐานข้อมูล favicon ของ Chrome ทั้งหมดตามที่แนะนำแล้วที่นี่คุณสามารถลบเฉพาะไอคอนที่ขัดแย้งกัน:

  1. ออกจาก Chrome
  2. โหลดฐานข้อมูล favicons (ใช้ sqlite ที่นี่):

sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons

  1. ค้นหาไฟล์ที่เป็นสาเหตุของปัญหา

select * from favicons where url = 'http://mysite.dev/favicon.ico';

  1. หากคุณพอใจกับผลลัพธ์:

delete from favicons where url = 'http://mysite.dev/favicon.ico';


หรือคุณสามารถค้นหารูปแบบที่คุณสามารถนำมาใช้ซ้ำเพื่อลบหลายรายการ:


  1. ค้นหาไฟล์หลายไฟล์ที่เป็นสาเหตุของปัญหา

select * from favicons where url like 'http://mysite.dev%';

  1. และอีกครั้งถ้าคุณมีความสุขกับสิ่งที่ผลตอบแทน:

delete from favicons where url like 'http://mysite.dev%';


  1. พิมพ์.exitและกดปุ่ม Return เพื่อออกจาก sqlite
  2. รีสตาร์ท Chrome

6

เมื่อคุณขอ favicon จาก Google คุณสามารถดูหัวข้อการตอบสนอง

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

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


2
นอกจากนี้ยังใช้งานได้ล่วงหน้าลางซึ่งเป็นจุดประสงค์ของคำถาม
Aneves


5

การสนับสนุน favicon ของ Chrome นั้นมีข้อผิดพลาด - ไม่สนใจคำตอบนี้

ฉันเขียนคำตอบนี้ภายใต้ความรู้สึกว่านี่คือสิ่งที่ต้องทำเพื่อฟื้นฟู favicons ใน Google Chrome อย่างไรก็ตามปรากฎว่าใช้งานได้ในช่วงห้านาทีแรกเท่านั้นจนกระทั่งไอคอนหายไปในการซิงโครไนซ์ประวัติของ Chrome อย่างไม่อาจแก้ไขได้สูญหายในการประสานประวัติของ

คำตอบเดิม

คุณไม่ต้องล้างแคชรีสตาร์ทเบราว์เซอร์ของคุณหรือเขียน HTML ของคุณอีกครั้งคุณเพียงแค่เปลี่ยน URL ของไอคอนหนึ่งครั้งเพื่อที่เบราว์เซอร์จะลืมไอคอนที่แคชไว้ก่อนหน้านี้

สมมติว่าคุณได้กำหนดไอคอนของคุณผ่าน<link>องค์ประกอบในหน้าของ<head>คุณคุณสามารถทำได้โดยการเรียกใช้หนึ่งซับ JS มาตรฐานนี้ในคอนโซล:

[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});

สำหรับการดำเนินงานที่สูงขึ้นของนี้ที่จะสามารถทำเช่นนี้สำหรับผู้ใช้ในการผลิตให้ดูfreshicon.js


สิ่งนี้มีประโยชน์จริง ๆ หากคุณพยายามกำจัดไอคอนแคชบนเซิร์ฟเวอร์ที่คุณไม่ได้ควบคุมซึ่งตอนนี้ไอคอนหายไป / ส่งคืนรหัส http ที่ไม่ใช่ 200 แทนที่จะต่อท้าย?v=2สลับ URL ทั้งหมดสำหรับไอคอนที่คุณเลือกและดูเหมือนจะติดอยู่หลังจากการรีเฟรช
Paul S.

4

ฉันเพิ่งกู้คืนบุ๊กมาร์กของฉันและกำลังมองหาวิธีการกู้คืน FavIcons โดยไม่ต้องไปที่หน้าแต่ละหน้า การค้นหาของฉันนำฉันมาที่หัวข้อนี้

สำหรับผู้ที่อยู่ในสถานการณ์ที่คล้ายคลึงกันเพียงดาวน์โหลด FAVICON RELOADER addon เมื่อติดตั้งแล้วคุณจะพบคำสั่ง "โหลดไอคอนรายการโปรด" ในเมนูแบบเลื่อนลง BOOKMARKS ของคุณ

https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api


มันกลับมาที่นั่นเพื่อทำการติดตั้งและดูเหมือนว่าจะสัญญา (คุณจะพบ AddOn ในเมนูที่คั่นหน้า) แต่มันก็ไม่ได้โหลดไอคอนบน firefox 34 ของฉัน (บน linux) โดยไม่ต้องรีสตาร์ท
rubo77

4

ถ้าคุณใช้ PHP .. คุณก็สามารถใช้บรรทัดนี้ได้

<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />

มันจะรีเฟรช favicon ของคุณในการโหลดแต่ละหน้า


2
นั่นคือปัญหา "มันจะรีเฟรช favicon ของคุณในการโหลดแต่ละหน้า" แคชล่ะ favicon ควรถูกแคช
machineaddict

หากคุณต้องการแคช favicon ใหม่ของคุณ .. เพียงระบุค่าใหม่เช่น .. <link rel = "ไอคอนทางลัด" href = " yoursite.com/favicon.ico?v=12345 ">
Shakeel Ahmed

2
favicon.ico? v = <? php echo md5_file ('favicon.ico') ตามที่เสนอโดย Felix Wienberg @machineaddict
Sven van den Boogaart

1
นี่ไม่ใช่วิธีที่ดีในการแก้ปัญหานี้ การใช้เวลา () จะบังคับให้โหลดไอคอนซ้ำทุกครั้ง คุณต้องการเวลาแก้ไขล่าสุดของไฟล์ favicon.ico ไม่ใช่เวลานาฬิกาปัจจุบัน
NickG

ถ้าคุณปัดเศษเป็น 24 ชั่วโมงที่ใกล้ที่สุดหรือ 30 วันที่ใกล้ที่สุด การรีเซ็ตแคชรายเดือนอาจมีประโยชน์
SwiftNinjaPro

3

หากคุณสนใจที่จะแก้ไขข้อบกพร่องเพื่อให้แน่ใจว่ามีการเปลี่ยนแปลงคุณสามารถเพิ่มรายการจำลองไปยังไฟล์ / etc / hosts ของคุณและกด URL ใหม่ favicon นั้นคงไม่ได้ถูกแคชไว้แล้วและคุณสามารถมั่นใจได้ว่าคุณใหม่ใช้งานได้

การเปลี่ยนชื่อ favicon ไม่สามารถบังคับให้ผู้ใช้ของคุณได้รับสำเนาใหม่ได้


2

สิ่งนี้ใช้ได้กับ Chrome:

  • บน Mac: ลบไฟล์

    $ {user.home} / การสนับสนุนห้องสมุด / แอปพลิเคชัน / Google / Chrome / ค่าเริ่มต้น / Favicons

  • บน Windows: ลบไฟล์

    C: \ Users [ชื่อผู้ใช้] \ AppData \ Local \ Google \ Chrome \ ข้อมูลผู้ใช้ \ Default \ Favicons C: \ Users [ชื่อผู้ใช้] \ AppData \ Local \ Google \ Chrome \ ข้อมูลผู้ใช้ \ Default \ Favicons-journal

แหล่ง


1

นี่เป็นวิธีแก้ปัญหาสำหรับข้อบกพร่องของ chrome: เปลี่ยนแอตทริบิวต์ rel เป็นสไตล์ชีท! เก็บลิงค์เดิมไว้ ทำงานเหมือนมีเสน่ห์:

ฉันคิดวิธีแก้ปัญหานี้เพราะเรามีข้อกำหนดที่จะสามารถอัปเดตไซต์ / รหัสการผลิตของลูกค้าและฉันไม่พบวิธีแก้ไขปัญหาอื่น ๆ


1
ฉันพยายามแก้ปัญหาทุกข้อเสนอแนะ (การเขียนโค้ด) ที่นี่และนี่เป็นโซลูชันเดียวที่เหมาะกับฉัน คุณมีความคิดใด ๆ ว่าทำไม?
คริสตัลมิลเลอร์

1

ฉันรู้ว่านี่เป็นคำถามที่เก่ามาก แต่ก็ยังเป็นคำถามที่ยังคงมีความเกี่ยวข้องแม้ว่าวันนี้จะใช้กับโมซิลล่าเท่านั้น (ฉันไม่รู้ว่า explorer ทำเพราะเราไม่ใช้รหัสสำหรับเบราว์เซอร์ที่ไม่ได้มาตรฐาน)

Chrome ทำงานได้ดีหากมีแท็กไอคอนในส่วนหัว

แม้ว่าโมซิลล่าจะรับรู้ปัญหาเป็นอย่างดี แต่ก็ไม่เคยแก้ไขสิ่งเล็ก ๆ ที่น่ารำคาญ แม้แต่ 6 ปีต่อมา

ดังนั้นมีสองวิธีในการบังคับให้รีเฟรชไอคอนด้วย firefox

  1. ให้ลูกค้าของคุณถอนการติดตั้ง firefox ทั้งหมด จากนั้นติดตั้งใหม่

  2. พิมพ์เฉพาะโดเมนในแถบ url ด้วยตนเอง - ห้ามใช้ http หรือ www เฉพาะโดเมน (mydomain.com)

สิ่งนี้ถือว่าแน่นอนว่าระเบียน ns ของคุณมีการแก้ไขสำหรับชื่อโดเมนเท่านั้น


1

ที่เรียบง่าย

1: ฉันไม่ต้องการทำเล่น ๆ ด้วยรหัส (ps ตัวสร้างไซต์ของฉันไม่ได้ใช้รหัสมันใช้ปุ่ม "อัปโหลดไฟล์" และทำเอง)

2: ฉันลองCTRL+ F5และมันไม่ได้ผลสำหรับฉันดังนั้น ....

ฉันมีทางออก:

IE: ล้างประวัติเบราว์เซอร์และคุกกี้ทั้งหมดโดยไปที่การตั้งค่าฟันเฟือง O

Chrome: ไปที่เมนูที่มุมบนขวาด้านล่าง X ซึ่งมีลักษณะเป็น a = จากนั้นไปที่การตั้งค่าประวัติล้างข้อมูลการเรียกดูและเลือกช่องทั้งหมดที่ใช้ (ฉันทำประวัติคุกกี้และล้าง catche จาก เวลาเริ่มต้น)


4
คำถามเกี่ยวข้องกับวิธีการเก็บ favicons การล้างแคชในเครื่องของคุณกำลังจะแก้ไขปัญหาให้คุณ แต่ไม่ใช่สำหรับคนอื่น
Mark Chorley

@ MarkChorley ซึ่งเป็นสิ่งที่เป็นต้นฉบับคำถามเกี่ยวกับ การแคช favicons บนสภาพแวดล้อมการพัฒนาท้องถิ่น
MrUpsidown


0

นี่คือวิธีที่ฉันจัดการกับ favicon ที่เคลื่อนไหวได้ง่ายและ FireFox 3.6.13 (รุ่นเบต้า) มันอาจจะใช้ได้กับ FireFox รุ่นอื่นเช่นกันโปรดแจ้งให้เราทราบหากไม่มี มันเป็นวิธีการแก้ปัญหาของ artlung แต่การจัดการกับไฟล์. gif เช่นกัน:

  1. ฉันเปิดโปรแกรม FTP ดาวน์โหลดไฟล์ favicon.ico AND favicon.gif ของฉัน
  2. จากนั้นลบออกจากไฟล์เซิร์ฟเวอร์ของฉัน
  3. จากนั้นฉันเปิดมันในเบราว์เซอร์ของฉันตามที่แนะนำ artlung: http://mysite.com/favicon.ico AND http://mysite.com/favicon.gifเมื่อที่อยู่เหล่านั้นถูกโหลดและแสดงหน้าข้อผิดพลาด 404 หน้า (ไม่พบหน้า ")
  4. ฉันอัปโหลดไฟล์ทั้งสองกลับสู่เซิร์ฟเวอร์ของฉันและ PRESTO - ไอคอนที่ถูกต้องจะปรากฏขึ้นทันที

1
โอ้ - BTW เพื่อให้แสดงใหม่ฉันต้องลบบุ๊คมาร์คที่บันทึกไว้ - และขั้นตอนเดียวกันนี้ก็ใช้ได้กับ Google Chrome ด้วย
lineofbirds

0

ตรวจสอบให้แน่ใจด้วยว่าคุณใส่ URL ภาพเต็มไม่เพียง แต่เส้นทางที่สัมพันธ์กัน:

http://www.example.com/images/favicon.ico

และไม่:

images/favicon.ico

3
/images/favicon.icoเป็นวิธีที่เหมาะสมในการทำ: มัน "ทำงานได้" สำหรับสภาพแวดล้อมที่แตกต่างกัน (dev / ทดสอบ / การผลิต) และเป็นเส้นทางที่แน่นอน - จาก URL ฐานของเอกสาร
Aneves

น่าเสียดายที่คุณต้องการ URL ที่ผ่านการรับรองสำหรับ IE7 (& IE8?) - ดูjeffcode.blogspot.com.au/2007/12/…
eug

2
นี่ไม่ใช่คำตอบจริงๆนี่คือความคิดเห็น
Zac

0

หากปัญหายังคงแม้จะมีการใช้ขั้นตอนบางอย่างข้างต้นลองรีสตาร์ทเซิร์ฟเวอร์ IIS หวังว่านี่จะช่วย ...


-3

ไซม่อนฉันคิดว่ามันมีเหตุผลที่ยังไม่มีคำตอบอื่นใดที่ได้รับการยอมรับ ดังนั้นฉันเชื่อว่านี่อาจเป็นปัญหาของ Grails - โดยเฉพาะอย่างยิ่งหากคุณใช้ 'ปลั๊กอินทรัพยากร'

หากปลั๊กอินของคุณมี favicon (ซึ่ง - ไร้เหตุผล - หลายอย่าง) ปลั๊กอินเหล่านั้นอาจแทนที่ปลั๊กอินที่คุณต้องการใช้เนื่องจากปลั๊กอินของคุณอยู่ในปลั๊กอิน

หากการลบ favicon จากปลั๊กอินทั้งหมดของคุณเป็นการชั่วคราวแก้ปัญหาแล้วคุณน่าจะประสบกับสิ่งนี้:

http://jira.grails.org/browse/GPRESOURCES-134


-3

โปรดทำตามขั้นตอนด้านล่างเพื่อเปลี่ยนไอคอนแอพ:

  1. เพิ่มไฟล์. ico ของคุณในโครงการ
  2. ไปที่ angular.json และใน "โครงการ" -> "สถาปนิก" -> "สร้าง" -> "ตัวเลือก" -> "สินทรัพย์" และที่นี่ทำรายการสำหรับไฟล์ไอคอนของคุณ อ้างถึงรายการที่มีอยู่ของ favicon.ico เพื่อทราบวิธีการทำ
  3. ไปที่ index.html และอัปเดตพา ธ ของไฟล์ไอคอน ตัวอย่างเช่น,

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

หรือเปลี่ยนชื่อไฟล์ไอคอนด้วย favicon.ico และแทนที่ในไดเรกทอรี

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