Làm thế nào để tôi buộc một làm mới favicon?


1535

Tôi có một ứng dụng Grails chạy cục bộ bằng tomcat của riêng nó và tôi vừa thay đổi favicon cho một cái mới. Vấn đề là tôi không thể nhìn thấy nó trong bất kỳ trình duyệt nào. Favicon cũ xuất hiện hoặc tôi không nhận được favicon nào, nhưng không phải là favicon mới. Tôi không nghĩ rằng đây là vấn đề của Grails mỗi lần, hơn nữa là vấn đề với favicon.

Điều gì sẽ xảy ra với favicon? Làm thế nào họ có nghĩa vụ phải làm việc? Tôi có nhiều dấu trang trong trình duyệt có các biểu tượng sai và chúng dường như không bao giờ được làm mới. Làm cách nào để buộc máy chủ / trình duyệt ngừng lưu trữ chúng? Có vẻ khá ngớ ngẩn khi luôn lưu trữ chúng khi chúng chỉ có kích thước 16x16. Tại sao không chỉ tải chúng lên với mỗi lần truy cập vào trang? Nó không chính xác là một chi phí quá lớn.


12
Giải pháp được chấp nhận và nâng cao không phải là giải pháp thực sự. Lý do thực tế tại sao refresh không hoạt động có thể được tìm thấy trong giải pháp của câu hỏi này: stackoverflow.com/questions/8616016/ Khăn --- bộ đệm biểu tượng nằm trong tệp DB sqlite, độc lập với bộ đệm của trình duyệt!
Mörre 17/1/2015

8
Giải pháp được chấp nhận và nâng cao là giải pháp cho sản xuất, hoặc tôi sẽ viết hướng dẫn cho người dùng cách xóa bộ đệm favicon của họ khi chúng tôi cập nhật favicon cho sản xuất?
Miroslav Saracevic

2
Không phải là một giải pháp chung. Điều gì nếu bạn đang sử dụng vị trí mặc định của favicon mà không chạm vào mã của bạn? Đó là, một favicon.icotập tin trong tài liệu gốc của bạn.
Sebastian

Câu trả lời:


2089

Để làm mới favicon của trang web của bạn, bạn có thể buộc các trình duyệt tải xuống phiên bản mới bằng cách sử dụng thẻ liên kết và chuỗi truy vấn trên tên tệp của bạn. Điều này đặc biệt hữu ích trong môi trường sản xuất để đảm bảo người dùng của bạn nhận được bản cập nhật.

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

35
Điều này đã lừa tôi. Tôi đã phải xóa type="image/x-icon"khỏi mã của tôi, trái với nhiều nguồn. Tôi đã sử dụng một dấu thời gian sửa đổi tập tin cho v?=2một phần của truy vấn.
Wertonomk

10
Tôi đã thấy rằng trong một số trình duyệt, favicon không hoạt động bất kể điều gì trừ khi tôi xóa lịch sử. Sau đó, nó sẽ lưu favicon mới.
tìm đường

6
Thật không may, bạn cần URL tuyệt đối đủ điều kiện cho IE7 (& IE8?) - xem jeffcode.blogspot.com.au 2007/12 / giả
eug

5
đồng ý với các ý kiến ​​trên, nhưng điều này hiệu quả với tôi trong tất cả các trình duyệt hiện tại: <link rel = "biểu tượng phím tắt" href = "/ favicon.ico? v = 2" />
Dave Sumter

31
Nó có ý nghĩa với bộ đệm favicon vì đôi khi chúng đẩy kích thước 2-3 kilobyte. Bạn không muốn tiếp tục chuyển tất cả dữ liệu đó. (vâng, mỉa mai)
Flat Cat

824

Ok, sau 10 phút cố gắng, cách dễ dàng để khắc phục nó gần với dòng chim

  1. Nhập vào www.yoursite.com/favicon.ico (hoặc www.yoursite.com/apple-touch-icon.png, v.v.)
  2. Đẩy enter
  3. ctrl+f5
  4. Khởi động lại trình duyệt (IE, Firefox)

8
Sử dụng phương pháp này có thể bạn sẽ khắc phục được bộ nhớ đệm, nhưng người dùng hiện tại của bạn thì không thể. Do đó, tôi thấy câu trả lời khác có giá trị hơn.
Demircan Celebi

3
Đáng lưu ý rằng điều này không hoạt động trong Firefox 33. Câu trả lời đầu tiên là lựa chọn tốt hơn.
Brent Wagoner

1
Tôi đã phải đóng các công cụ dev để thực hiện công việc này trong Chrome.
tehwalris

1
Tôi đã không phải khởi động lại trình duyệt, nhưng tôi đã phải điều hướng đến trang web của mình trong một tab mà không có devtools mở. Vì một số lý do, Ctrl + F5'ing trong tab không phải là devtools đã làm điều đó. Tôi có thể Ctrl + F5 tất cả những gì tôi muốn và điều hướng trên internet và quay lại trang web của tôi nhiều như tôi muốn trong tab devtools và nó sẽ không bao giờ cập nhật favicon.
mjohnsonengr

3
Phần "khởi động lại trình duyệt" là điều duy nhất thực sự làm cho nó hoạt động với tôi. Tất cả các bản sửa lỗi khác đều hoạt động trên lý thuyết, nhưng thực tế không thay đổi các pixel favicon được hiển thị trên tab trình duyệt. +1 câu trả lời này
b264

262

Câu trả lời này chưa được đưa ra nên tôi nghĩ tôi sẽ đăng nó. Tôi đã xem tất cả các trang web và không tìm thấy câu trả lời hay cho việc thử nghiệm favicon trong phát triển địa phương.

Trong phiên bản hiện tại của chrome (trên OSX) nếu bạn làm như sau, bạn sẽ nhận được làm mới favicon ngay lập tức:

  1. Di chuột qua tab
  2. Nhấp chuột phải
  3. Chọn tải lại
  4. Favicon của bạn bây giờ nên được làm mới

Đây là cách dễ nhất mà tôi đã tìm thấy để làm mới favicon cục bộ.


1
Thật không may, điều này không hoạt động trong IE hoặc thậm chí Chrome trên Windows nên có vẻ như bạn nên đi với câu trả lời được chấp nhận trừ khi bạn chỉ sử dụng Chrome trên OSX.
Christopher King

3
Hoạt động trong OS X Sierra với Chrome 53.0.2785.143 (64-bit)
Seno

1
hoạt động với tôi: Chrome 58.0.3029.110, Windows 10, localhost
R Brill

1
Đã hoạt động trên Chrome 63.0.3239.84 cho Windows 10!
beawolf

4
Hoạt động trong Chrome 67.0 trên OSX. Lạ là nó không hoạt động với CMD+ Shift+R
cephei_vv

56

Đổi tên tệp favicon và thêm tiêu đề html với tên mới, chẳng hạn như:

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

4
Tôi cho rằng trình duyệt có thể xem nếu tên favicon giống nhau. Nếu đúng, nó sẽ không yêu cầu tải xuống lần nữa và sẽ sử dụng một cái đã được lưu trong bộ nhớ cache, nhưng nếu bạn thay đổi tên thì nó sẽ cho rằng nó đã thay đổi do đó yêu cầu nó từ máy chủ.
Bojan Kogoj

Tôi đã có vấn đề với IE8. Nó không sử dụng favicon.ico được đặt trong thư mục con. Thêm thuộc tính 'phím tắt' đã sửa nó.
tienbuiDE

3
Đó không phải là hoàn toàn mới, nó thay đổi nó hoàn toàn mới.
Zac

xin lưu ý rằng bạn cũng phải đổi tên favicon.ico thực tế của mình (nó sẽ nằm trong thư mục bản dựng của bạn hoặc thư mục mà ứng dụng web đang được phục vụ)
Rahil Ahmad

55

Nếu bạn sử dụng PHP, bạn cũng có thể sử dụng MD5-Hash của favicon làm chuỗi truy vấn:

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

Bằng cách này, Favicon sẽ luôn làm mới khi nó đã được thay đổi.

Như đã chỉ ra trong các nhận xét, bạn cũng có thể sử dụng ngày sửa đổi cuối cùng thay vì MD5-Hash để đạt được điều tương tự và tiết kiệm một chút về hiệu suất của máy chủ:

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

2
Thật tuyệt, điều này tránh sự cần thiết phải thay đổi href mỗi khi tôi cập nhật favicon, câu trả lời này sẽ có nhiều phiếu bầu hơn!
Sven van den Boogaart

44
Vấn đề với câu trả lời này là bạn đang tính toán hàm băm đó cho mỗi yêu cầu và đó là điều không cần thiết và có thể ảnh hưởng đến hiệu suất trang web (nếu có nhiều người dùng).
Diego Jancic

1
Nó không phải là một thỏa thuận lớn theo cả hai nghĩa ... một favicon chỉ là một vài kilobyte ... Ý tôi là, nó sẽ không gây căng thẳng cho máy chủ hơn là phải phục vụ favicon mỗi lần ...
Philippe Gilbert

14
Tôi vẫn không thấy bất kỳ lý do thực sự nào để tính MD5. Việc sử dụng ngày sửa đổi cuối cùng của tệp sẽ dễ dàng và hiệu quả hơn. Tôi thấy không có lợi thế của việc sử dụng MD5 so với tem sửa đổi cuối cùng.
NickG

9
Bạn có thường xuyên cập nhật favicon của mình không? Điều này có vẻ như quá mức cần thiết. Chỉ cần sử dụng chuỗi truy vấn thủ công khi bạn tạo một biểu tượng mới.
số không và

51

Bằng cách hủy tệp mà trình duyệt của bạn sử dụng để lưu trữ các favicon cũ, bạn có thể buộc các tệp mới được tải.

  1. Đóng trình duyệt của bạn. Đảm bảo không còn các quy trình trình duyệt đang chạy (ví dụ: kiểm tra Trình quản lý tác vụ cho chrome.exehoặc firefox.exe).
  2. Điều hướng đến nơi trình duyệt của bạn lưu trữ tệp người dùng:
  3. Xóa bộ nhớ cache favicon.
    • Đối với Chrome, hãy xóa FaviconsFavicons-journal
    • Đối với Firefox, hãy xóa favicons.sqlite

Điều này gần như chắc chắn sẽ làm việc. Nếu không:

  • Khả năng 1: Một bản cập nhật cho trình duyệt của bạn đã thay đổi cách bộ đệm favicon hoạt động. Vui lòng chỉnh sửa câu trả lời này với hướng dẫn mới.
  • Khả năng 2: Vấn đề favicon của bạn không liên quan gì đến bộ nhớ đệm quá mức. Thay vào đó, đây có thể là sự cố tải tài nguyên - sử dụng Công cụ dành cho nhà phát triển, đảm bảo favicon mới được tải xuống đúng cách.

Điều này đã lừa Đối với tôi, đây là sự cố favicon của ứng dụng Google Chrome. Không phải là một vấn đề favicon DOM.
klewis

2
Đây là một câu trả lời tốt đáp ứng nhu cầu của tôi để thử nghiệm. Không có một câu trả lời thực sự cho câu hỏi này bởi vì nó phụ thuộc vào người cần làm mới nó và những gì họ sẵn sàng và có thể làm một cách hợp lý.
Dovev Hefetz

1
Chỉ cần cải thiện một chút: cùng một đường dẫn cho bất kỳ tên người dùng nào%appData%/../Local/Google/Chrome/User Data/Default
josemmo

3
Một giải pháp dễ dàng hơn trong Chrome là nhấp chuột phải và chọn Kiểm tra (hoặc CTRL + SHIFT + I), sau đó nhấp và giữ nút làm mới. Một menu sẽ xuất hiện với tùy chọn Làm mới, Tải lại cứng hoặc Cache trống và Tải lại cứng. Thông thường Hard Tải lại sẽ làm điều đó, nhưng nếu nó cứng đầu vì một số lý do, thì Cache trống và Tải lại cứng chắc chắn sẽ làm được.
felwithe

1
Trên Linux, bạn có thể tìm thấy các tệp này tại:~/.config/google-chrome/Default
Arnold Schrijver

29

Trong Chrome trên Mac OS X, người ta có thể xóa tệp bằng bộ đệm favicon

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

1
Giải pháp này đã làm việc cho tôi. Vì một số lý do, nó đã không làm mới favicon bằng các phương pháp đã đề cập ở trên với số phiếu bầu cao hơn nhiều. Cảm ơn bạn, Maxim Mazin. Tôi chỉ muốn thoát khỏi một favicon cũ mà tôi biết không thể tồn tại nữa trên máy chủ mới của tôi.
tsaulic

2
Cách tiếp cận này cũng hiệu quả với tôi trên Windows, nơi tôi đã xóa favicon khỏi ứng dụng của mình, nhưng chrome vẫn hiển thị nó. Đóng Chrome, xóa "C: \ Users \ {user} \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons", sau đó khởi động lại Chome. Các favicon cũ không mong muốn đã biến mất.
skomisa

2
Tôi không có gì trong "Mặc định" nhưng cuối cùng tôi đã tìm thấy biến thể này:${user.home}/Library/Application Support/Google/Chrome/Profile 1/Favicons
mdahlman

@mdahlman Điều này ban đầu không hiệu quả với tôi sau khi thử tất cả các phương pháp khác. Tuy nhiên, tôi đã có cái này để hoạt động sau khi nhập cmd+qchrome, vào thanh menu, buộc thoát chrome một lần nữa và đợi 2 phút để mở trình duyệt và điều hướng trở lại trang web của tôi.
PrimeTimeTran

17

Vâng, trên cao là trên đầu, nhưng có, không quá lớn.

Ngoài ra, các trình duyệt đôi khi "tham lam" về các tệp được lưu trữ. Bạn có thể xóa bộ nhớ cache và / hoặc khởi động lại trình duyệt của bạn và có thể thấy sự thay đổi. Nếu thất bại ...

Giải pháp giá rẻ của tôi là:

  1. Truy cập tệp của bạn tại http://example.com/favicon.ico trong trình duyệt của bạn.
  2. Xóa favicon.ico khỏi webroot của bạn.
  3. Truy cập http://example.com/favicon.ico một lần nữa trong trình duyệt, xác minh nó bị thiếu.
  4. Tải một cái mới lên webroot của bạn.
  5. Truy cập http://example.com/favicon.ico một lần nữa trong trình duyệt, xác minh đây là trình duyệt mới.

Nếu chuỗi đó không hoạt động, thì một cái gì đó khác đang diễn ra.


7
Điều này làm việc cho tôi, nhưng thật đáng buồn, chúng tôi không thể yêu cầu mọi khách truy cập làm điều này.
talentedmrjones

3
Truy cập example.com/favicon.ico và nhấn Ctrl + F5 / Ctrl + Shift + R nhiều lần làm việc cho tôi :) Cảm ơn vì ý tưởng!
Alfonso Nishikawa

17

Tùy thuộc vào trình duyệt, chúng được xử lý khác nhau, nhưng thông thường tôi thấy rằng đi đến trang mặc định của trang web và thực hiện làm mới một cách khó khăn. CTRL+ F5, thường sẽ nhận được nó để cập nhật.


Người dùng máy Mac: CMD SHIFT 5
Gianfranco Fertino

13

ON MAC: + Shift- Rhoặc giữ Ctrlvà nhấp vào nút tải lại trong trình duyệt.


2
Điều này không buộc tải lại favicon.
Shammoo

1
Điều này đã tải lại favicon của tôi / khắc phục sự cố
rgareth

Hoạt động cho Ubuntu 16.04
uneet7

10

Đối với Internet Explorer, có một giải pháp khác:

  1. Mở thám hiểm internet.
  2. Nhấp vào menu> công cụ> tùy chọn internet.
  3. Nhấp vào chung> tệp internet tạm thời> nút "cài đặt".
  4. Nhấp vào nút "xem tập tin".
  5. Tìm tập tin favicon.ico cũ của bạn và xóa nó.
  6. Khởi động lại trình duyệt (internet explorer).

9

Nhiều khả năng là một vấn đề trình duyệt web. Bạn sẽ phải xóa bộ nhớ cache khỏi trình duyệt, đóng trình duyệt và mở lại. Điều đó sẽ sửa nó.

Tôi không tin favicon của bạn sẽ được làm mới trên mục yêu thích của bạn cho đến khi bạn truy cập lại trang đó và cho rằng trước đó bạn đã xóa bộ nhớ cache của trình duyệt.

Trình duyệt web của bạn sẽ không truy cập internet để tự mình kiểm tra một favicon mới ... cảm ơn chúa.


3
"Trình duyệt web của bạn sẽ không truy cập internet để kiểm tra một favicon mới trên chính nó ... cảm ơn chúa." Tại sao không? Tại sao không làm mới nó mỗi lần tải trang? Đó là hình ảnh 2k, là đậu phộng. Nó không bao giờ nên lỗi thời. Toàn bộ ý tưởng bộ nhớ đệm chỉ là ngớ ngẩn trong sơ đồ lớn của mọi thứ.
Simon

5
developer.yahoo.com/performance/rules.html đề cập đến các vấn đề liên quan đến việc tải xuống favicon.ico mà bạn có thể không nghĩ tới. Lời khuyên tốt có tất cả xung quanh. Bộ nhớ đệm là một công cụ có giá trị để đảm bảo trang web của bạn chạy nhanh nhất có thể. Bộ nhớ đệm cũng hữu ích để làm cho trình duyệt của bạn cảm thấy nhanh nhất có thể.
artlung

6
@Simon, bộ nhớ đệm là ngớ ngẩn?!? Tôi hy vọng khách hàng của bạn chắc chắn rằng bạn đã học được tầm quan trọng của việc phát triển web tốt hơn kể từ năm 2010. Điều "ngớ ngẩn" KHÔNG được lưu vào bộ nhớ cache và đưa ra các yêu cầu không cần thiết cho máy chủ của bạn với số tiền là một tệp tĩnh mà hiếm khi, thay đổi.
Ed DeGagne

8

Hãy thử mở trong một tab mới

Tôi đã thử nhiều thứ ở trên (đặt lại bộ đệm, làm mới, sử dụng thẻ liên kết, v.v.), tôi thậm chí đã kiểm tra .htaccesstệp của mình và đặt lại biến ExpiresByType.

Nhưng đây là những gì cuối cùng đã làm việc cho tôi trong cả Chrome (25.0.x) và Safari (6.0.1):

  1. Xóa bộ nhớ cache
  2. Liên kết cứng favicon với <link>thẻ
  3. Điều hướng đến mysite.com/favicon.ico
  4. Mở mysite.comtrong một tab mới

(Cho đến bước 3, làm mới trong cùng một tab tiếp tục tái tạo biểu tượng cũ.)


8

Đối với Chrome trên macOS, nếu bạn không muốn xóa toàn bộ cơ sở dữ liệu favicon của Chrome như đã đề xuất ở đây, bạn chỉ có thể xóa các biểu tượng xung đột:

  1. Thoát khỏi Chrome
  2. Tải cơ sở dữ liệu favicons (sử dụng sqlite tại đây):

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

  1. Tìm kiếm tệp gây ra sự cố

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

  1. Nếu bạn hài lòng với đầu ra:

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


Ngoài ra , bạn có thể tìm kiếm một mẫu mà bạn có thể sử dụng lại để xóa nhiều mục:


  1. Tìm kiếm nhiều tệp gây ra sự cố

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

  1. Và một lần nữa nếu bạn hài lòng với những gì nó trả về:

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


  1. Nhập .exitvà quay trở lại để thoát sqlite
  2. Khởi động lại Chrome

6

Khi bạn yêu cầu favicon từ Google, bạn có thể xem các tiêu đề phản hồi.

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

Nếu bạn đặt tiêu đề "Hết hạn:" cho phản hồi, trình duyệt máy khách sẽ yêu cầu lại biểu tượng sau dấu thời gian đó. Trong khi thực hiện phát triển tích cực, bạn có thể đặt dấu thời gian hết hạn thành một hoặc hai giây trong tương lai và luôn luôn lấy nó, mặc dù đó là một kế hoạch dài hạn kém.


2
Nó cũng chỉ hoạt động trước, mà đánh bại mục đích của câu hỏi.
ANeves

6

Phiên bản Chrome: 68.0.3440.106

Chỉ cần khởi động lại Chrome (trong thanh địa chỉ của bạn): chrome://restart


5

Hỗ trợ favicon của Chrome là lỗi - bỏ qua câu trả lời này

Tôi đã viết câu trả lời này dưới ấn tượng rằng đây là những gì nó cần để làm mới favicon trong Google Chrome. Tuy nhiên, hóa ra điều này chỉ hoạt động trong năm phút đầu tiên hoặc lâu hơn, cho đến khi biểu tượng bị mất không thể phục hồi trong quá trình đồng bộ hóa lịch sử của Chrome .

Câu trả lời gốc

Bạn không cần phải xóa bộ nhớ cache, khởi động lại trình duyệt của bạn, hoặc viết lại HTML của bạn - bạn chỉ cần thay đổi URL của biểu tượng, một lần , do đó trình duyệt sẽ quên biểu tượng trước đây bộ nhớ cache.

Giả sử rằng bạn đã xác định biểu tượng của mình thông qua <link>các thành phần trong trang của mình <head>, bạn có thể làm điều đó bằng cách chạy một lớp lót tiêu chuẩn-JS này trong bảng điều khiển:

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

Để triển khai nâng cao hơn về điều này có thể tự động thực hiện việc này cho người dùng cuối trong sản xuất, hãy xem Freshicon.js .


Điều này thực sự hữu ích nếu bạn đang cố gắng loại bỏ biểu tượng được lưu trong bộ nhớ cache trên máy chủ mà bạn không kiểm soát, nơi biểu tượng hiện bị thiếu / trả lại mã http không phải 200. Thay vì nối thêm ?v=2hoán đổi toàn bộ URL cho một biểu tượng bạn chọn và nó dường như dính xung quanh sau khi làm mới
Paul S.

4

Gần đây tôi đã khôi phục dấu trang của mình và đang tìm cách khôi phục FavIcons mà không cần truy cập từng trang. Tìm kiếm của tôi đưa tôi đến chủ đề này.

Đối với những người có hoàn cảnh tương tự, chỉ cần tải xuống addon FAVICON RELOADER. Sau khi cài đặt, bạn sẽ tìm thấy lệnh "tải lại các biểu tượng yêu thích" trong menu thả xuống BOOK86S của bạn.

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


Nó đã trở lại để cài đặt và thực sự có vẻ đầy hứa hẹn (bạn sẽ tìm thấy AddOn trong menu bookmark) nhưng nó cũng không tải lại biểu tượng trên firefox 34 của tôi (trên linux) mà không cần khởi động lại
rubo77

4

Nếu bạn đang sử dụng PHP .. thì bạn cũng có thể sử dụng dòng này.

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

Nó sẽ làm mới favicon của bạn trên mỗi lần tải trang.


2
Đó là vấn đề "Nó sẽ làm mới favicon của bạn trên mỗi lần tải trang". Làm thế nào về bộ nhớ đệm? Các favicon nên được lưu trữ.
máy móc

Nếu bạn muốn bộ nhớ cache favicon mới của bạn .. chỉ cung cấp bất kỳ giá trị mới như .. <link rel = "biểu tượng shortcut" href = " yoursite.com/favicon.ico?v=12345 ">
Shakeel Ahmed

2
favicon.ico? v = <? php echo md5_file ('favicon.ico') theo đề xuất của Felix Wienberg @machineaddict
Sven van den Boogaart

1
Đây không phải là một cách tốt để giải quyết vấn đề này. Sử dụng time () sẽ buộc nó tải lại biểu tượng mỗi lần. Bạn muốn thời gian sửa đổi cuối cùng của tệp favicon.ico không phải là thời gian đồng hồ treo tường hiện tại.
NickG

Điều gì nếu bạn làm tròn đến 24 giờ gần nhất hoặc 30 ngày gần nhất? thiết lập lại bộ đệm hàng tháng có thể hữu ích
SwiftNinjaPro

3

Nếu bạn chỉ quan tâm đến việc gỡ lỗi nó để đảm bảo nó đã thay đổi, bạn có thể chỉ cần thêm một mục giả vào tệp / etc / hosts của mình và nhấn URL mới. Favicon đó sẽ không được lưu trong bộ nhớ cache và bạn có thể chắc chắn rằng cái mới của bạn đang hoạt động.

Thay đổi tên của favicon, không có cách nào bạn có thể buộc người dùng của mình có được một bản sao mới


2

Điều này hoạt động cho Chrome:

  • trên Mac: xóa tập tin

    $ {user.home} / Thư viện / Hỗ trợ ứng dụng / Google / Chrome / Mặc định / Favicons

  • trên Windows: xóa các tập tin

    C: \ Users [tên người dùng] \ AppData \ Local \ Google \ Chrome \ Dữ liệu người dùng \ Mặc định \ Favicons C: \ Users [tên người dùng] \ AppData \ Local \ Google \ Chrome \ Dữ liệu người dùng \ Mặc định \ Favicons-tạp chí

nguồn


1

Đây là một cách giải quyết cho lỗi chrome: thay đổi thuộc tính rel thành biểu định kiểu! Giữ liên kết ban đầu mặc dù. Hoạt động như một lá bùa:

Tôi đã đưa ra cách giải quyết này bởi vì chúng tôi cũng có một yêu cầu là có thể cập nhật các trang web / mã sản xuất của khách hàng và tôi không tìm thấy bất kỳ giải pháp nào khác để làm việc.


1
Tôi đã thử nghĩa đen mọi giải pháp đề xuất (mã hóa) ở đây & đây là giải pháp duy nhất phù hợp với tôi. Bạn có biết tại sao không?
Crystal Miller

1

Tôi biết đây là một câu hỏi thực sự cũ nhưng nó cũng là một câu hỏi vẫn còn liên quan, mặc dù những ngày này chỉ áp dụng cho mozilla. (Tôi không biết nhà thám hiểm nào làm việc vì chúng tôi không viết mã cho các trình duyệt không chuẩn).

Chrome hoạt động tốt nếu một cái bao gồm thẻ biểu tượng trong tiêu đề.

Mặc dù mozilla nhận thức rõ vấn đề, nhưng như thường lệ, họ không bao giờ sửa những thứ nhỏ nhặt gây phiền nhiễu. Thậm chí 6 năm sau.

Vì vậy, có hai cách buộc làm mới biểu tượng bằng firefox.

  1. Có tất cả khách hàng của bạn gỡ cài đặt firefox. Sau đó cài đặt lại.

  2. Nhập thủ công tên miền vào thanh url - không sử dụng http hoặc www chỉ tên miền (mydomain.com).

Tất nhiên, điều này giả định rằng các bản ghi ns của bạn chỉ bao gồm độ phân giải cho tên miền.


1

Đơn giản,

1: Tôi không muốn loay hoay với các mã (ps người xây dựng trang web của tôi không sử dụng mã, nó sử dụng nút "tải lên tệp" và nó tự làm như vậy)

2: Tôi đã thử CTRL+ F5và nó không hoạt động với tôi vì vậy ....

TÔI CÓ CÁCH NÀY:

IE: Xóa tất cả lịch sử trình duyệt và cookie bằng cách đi tới cài đặt cog O

Chrome: Chuyển đến trình đơn ở góc trên bên phải bên dưới X trông giống như a =, sau đó chuyển đến cài đặt, lịch sử, DỮ LIỆU DUYỆT XÓA và kiểm tra tất cả các hộp áp dụng (Tôi đã làm lịch sử, cookie và làm trống phần bắt từ bắt đầu thời gian)


4
câu hỏi liên quan đến cách favicon được lưu trữ. Xóa bộ nhớ cache cục bộ của bạn sẽ khắc phục sự cố cho bạn nhưng không phải cho bất kỳ ai khác.
Mark Chorley

@MarkChorley chính xác là những gì câu hỏi ban đầu là về. Bộ nhớ đệm của favicon trên môi trường phát triển địa phương.
MrUpsidown


0

Đây là cách tôi quản lý nó với một favicon hoạt hình đơn giản và FireFox 3.6.13 (phiên bản beta) Nó cũng có thể hoạt động cho các phiên bản khác của FireFox, cho tôi biết nếu không. Về cơ bản, đây là giải pháp của artlung, nhưng cũng giải quyết tệp .gif:

  1. Tôi đã mở bằng chương trình FTP, tải xuống các tệp favicon.ico VÀ favicon.gif của tôi,
  2. sau đó xóa chúng khỏi tệp của máy chủ của tôi.
  3. Sau đó, tôi đã mở chúng trong trình duyệt của mình khi artlung đề xuất: http://mysite.com/favicon.icohttp://mysite.com/favicon.gif Khi các địa chỉ đó được tải và hiển thị các trang lỗi 404 ("không tìm thấy trang")
  4. Tôi đã tải cả hai tập tin trở lại máy chủ của mình và PRESTO - các biểu tượng chính xác được hiển thị ngay lập tức.

1
Ồ - BTW để hiển thị những cái mới tôi cũng phải xóa dấu trang đã lưu của mình - và quy trình này cũng hoạt động với Google Chrome.
lineofbirds

0

Ngoài ra, hãy đảm bảo bạn đặt URL hình ảnh đầy đủ không chỉ đường dẫn tương đối của nó:

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

Và không:

images/favicon.ico

3
/images/favicon.icolà cách thích hợp để làm điều đó: nó "chỉ hoạt động" cho các môi trường khác nhau (dev / test / sản xuất) và là một đường dẫn tuyệt đối - từ URL cơ sở tài liệu.
ANeves

Thật không may, bạn cần URL đủ điều kiện cho IE7 (& IE8?) - xem jeffcode.blogspot.com.au 2007/12 / giả
eug

2
Đây không thực sự là một câu trả lời, đây là một nhận xét.
Zac

0

Nếu sự cố vẫn tiếp tục mặc dù áp dụng một số bước ở trên, hãy thử khởi động lại Máy chủ IIS . Hi vọng điêu nay co ich...


-3

Simon, tôi cho rằng có một lý do không có câu trả lời nào khác được chấp nhận cho đến nay. Vì vậy, tôi tin rằng điều này có thể là vấn đề của Grails - Đặc biệt nếu bạn đang sử dụng 'Plugin tài nguyên'.

Nếu các plugin của bạn cung cấp một favicon (mà - về mặt logic - nhiều người làm), thì chúng có thể ghi đè lên plugin bạn muốn sử dụng - do các plugin của bạn nằm trong chính plugin.

Nếu xóa favicon khỏi tất cả các plugin của bạn tạm thời giải quyết vấn đề thì rất có thể bạn đang gặp phải điều này:

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


-3

Vui lòng làm theo các bước dưới đây để thay đổi biểu tượng ứng dụng:

  1. Thêm tệp .ico của bạn trong dự án.
  2. Truy cập angular.json và trong đó "dự án" -> "kiến trúc sư" -> "xây dựng" -> "tùy chọn" -> "tài sản" và ở đây tạo một mục nhập cho tệp biểu tượng của bạn. Tham khảo mục hiện có của favicon.ico để biết cách thực hiện.
  3. Truy cập index.html và cập nhật đường dẫn của tệp biểu tượng. Ví dụ,

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

Hoặc, đổi tên tệp biểu tượng của bạn bằng favicon.ico và thay thế nó trong thư mục.

  1. Khởi động lại máy chủ.
  2. Trình duyệt làm mới cứng và bạn tốt để đi.
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.