질문자 :Simon
자체 바람둥이를 사용하여 로컬에서 실행되는 Grails 응용 프로그램이 있고 새 응용 프로그램에 대한 파비콘을 방금 변경했습니다. 문제는 어떤 브라우저에서도 볼 수 없다는 것입니다. 이전 파비콘이 나타나거나 파비콘이 전혀 표시되지 않지만 새 파비콘은 표시되지 않습니다. 나는 이것이 Grails 자체의 문제가 아니라 파비콘의 문제라고 생각합니다.
파비콘은 어떻게 될까요? 그들은 어떻게 작동해야 합니까? 내 브라우저에 잘못된 아이콘이 있는 책갈피가 많이 있는데 새로 고쳐지지 않는 것 같습니다. 서버/브라우저가 캐싱을 중지하도록 하려면 어떻게 해야 합니까? 일반적으로 16x16에 불과하다는 점을 감안할 때 항상 캐시하는 것은 매우 어리석은 일입니다. 페이지를 방문할 때마다 업로드하지 않으시겠습니까? 그것은 정확히 엄청난 오버 헤드가 아닙니다.
사이트의 파비콘을 새로 고치려면 파일 이름에 링크 태그와 쿼리 문자열을 사용하여 브라우저에서 새 버전을 다운로드하도록 강제할 수 있습니다.
이는 사용자가 업데이트를 받을 수 있도록 프로덕션 환경에서 특히 유용합니다.
<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />
Mark좋아, 10분 동안 시도한 후 쉽게 고칠 수 있는 방법은 새 줄에 가깝습니다.
- www.yoursite.com/favicon.ico(또는 www.yoursite.com/apple-touch-icon.png 등)를 입력합니다.
- 푸시 엔터
- Ctrl + F5
- 브라우저 다시 시작(IE, Firefox)
alex이 답변은 아직 제공되지 않았으므로 게시할 것이라고 생각했습니다. 나는 모든 웹을 둘러 보았고 로컬 개발에서 파비콘을 테스트하는 데 좋은 대답을 찾지 못했습니다.
현재 버전의 크롬(OSX)에서 다음을 수행하면 즉시 파비콘 새로 고침이 표시됩니다.
- 탭 위로 마우스를 가져갑니다.
- 마우스 오른쪽 버튼으로 클릭
- 새로 고침 선택
- 이제 파비콘을 새로고침해야 합니다.
이것은 로컬에서 파비콘을 새로 고치는 가장 쉬운 방법입니다.
Garry Polley파비콘 파일의 이름을 바꾸고 다음과 같이 새 이름으로 html 헤더를 추가합니다.
<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />
Klaus Byskov PedersenPHP를 사용하는 경우 favicon의 MD5-Hash를 쿼리 문자열로 사용할 수도 있습니다.
<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') ?>" />
Felix Wienberg브라우저에서 오래된 파비콘을 저장하는 데 사용하는 파일을 삭제하면 새 파비콘을 강제로 로드할 수 있습니다.
- 브라우저를 닫습니다. 더 이상 실행 중인 브라우저 프로세스가 없는지 확인합니다(예: 작업 관리자에서
chrome.exe
또는 firefox.exe
). - 브라우저에서 사용자 파일을 저장하는 위치로 이동합니다.
- 파비콘 캐시를 삭제합니다.
- Chrome의 경우
Favicons
및 Favicons-journal
- Firefox의 경우
favicons.sqlite
이것은 거의 확실히 작동합니다. 그렇지 않은 경우:
- 가능성 1: 브라우저 업데이트로 파비콘 캐시 작동 방식이 변경되었습니다. 새로운 지침으로 이 답변을 편집하십시오.
- 가능성 2: 파비콘 문제는 과도한 캐싱과 관련이 없습니다. 대신 리소스 로딩 문제일 수 있습니다. 개발자 도구를 사용하여 새 파비콘이 제대로 다운로드되는지 확인하십시오.
konzoMac OS X의 Chrome에서는 파비콘 캐시를 사용하여 파일을 제거할 수 있습니다.
${user.home}/Library/Application Support/Google/Chrome/Default/Favicons
Maxim Mazin글쎄, 오버 헤드는 오버 헤드이지만 예, 너무 크지는 않습니다.
또한 브라우저는 캐시된 파일에 대해 "탐욕적"인 경우가 있습니다. 캐시를 지우거나 브라우저를 다시 시작하면 변경 사항이 표시될 수 있습니다. 그래도 실패하면...
내 저렴한 솔루션은 다음과 같습니다.
- 브라우저 에서 http://example.com/favicon.ico 의 파일을 방문하십시오.
- 웹 루트에서 favicon.ico를 삭제하십시오.
- 브라우저에서 http://example.com/favicon.ico를 다시 방문하여 누락되었는지 확인합니다.
- 웹 루트에 새 항목을 업로드하십시오.
- 브라우저에서 http://example.com/favicon.ico를 다시 방문하여 새 브라우저인지 확인합니다.
해당 시퀀스가 작동하지 않으면 다른 일이 진행되고 있는 것입니다.
artlung브라우저에 따라 다르게 처리되지만 일반적으로 사이트의 기본 페이지로 이동하여 하드 새로 고침을 수행하는 것으로 나타났습니다. CTRL + F5 (또는 macOS의 경우 ⌘ Command + SHIFT + F5) 를 누르면 일반적으로 업데이트됩니다.
Mitchel SellersMAC: ⌘ + Shift - R 또는 Ctrl 키 를 누른 상태에서 브라우저에서 새로고침 버튼을 클릭합니다.
badmadradInternet Explorer의 경우 다른 솔루션이 있습니다.
- 인터넷 익스플로러를 엽니다.
- 메뉴 > 도구 > 인터넷 옵션을 클릭합니다.
- 일반 > 임시 인터넷 파일 > "설정" 버튼을 클릭합니다.
- "파일 보기" 버튼을 클릭합니다.
- 이전 favicon.ico 파일을 찾아 삭제합니다.
- 브라우저(인터넷 익스플로러)를 다시 시작합니다.
nam웹 브라우저 문제일 가능성이 높습니다. 브라우저에서 캐시를 삭제하고 브라우저를 닫았다가 다시 열어야 합니다. 그것은 그것을 해결해야합니다.
해당 페이지를 다시 방문하고 이전에 브라우저 캐시를 지웠다고 가정할 때까지 즐겨찾기에서 즐겨찾기 아이콘이 새로 고쳐지지 않을 것이라고 생각합니다.
웹 브라우저는 자체적으로 새 파비콘을 확인하기 위해 인터넷에 연결되지 않습니다... 감사합니다.
Senica Gonzalez새 탭에서 열어보기
위의 많은 것들을 시도했습니다(캐시 재설정, 새로 고침, 링크 태그 사용 등). 심지어 .htaccess
파일을 확인하고 ExpiresByType 변수를 재설정했습니다.
그러나 이것이 Chrome(25.0.x)과 Safari(6.0.1) 모두에서 마침내 저에게 효과적이었습니다.
- 캐시 플러시
- 파비콘을
<link>
태그로 하드 링크 -
mysite.com/favicon.ico
- 새 탭에서
mysite.com
열기
(3단계까지는 같은 탭에서 새로고침해도 기존 아이콘이 계속 재생되었습니다.)
Old McStophermacOS용 Chrome의 경우 여기에 이미 제안된 대로 전체 Chrome 파비콘 데이터베이스를 삭제하지 않으려면 충돌하는 아이콘만 삭제할 수 있습니다.
- 크롬 종료
- favicons 데이터베이스를 로드합니다(여기서 sqlite 사용):
sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons
- 문제를 일으키는 파일 검색
select * from favicons where url = 'http://mysite.dev/favicon.ico';
- 출력에 만족하는 경우:
delete from favicons where url = 'http://mysite.dev/favicon.ico';
또는 여러 항목을 삭제하는 데 재사용할 수 있는 패턴을 검색할 수 있습니다.
- 문제를 일으키는 여러 파일 검색
select * from favicons where url like 'http://mysite.dev%';
- 그리고 이것이 반환되는 것에 만족한다면 다시:
delete from favicons where url like 'http://mysite.dev%';
-
.exit
입력하고 return 키를 눌러 sqlite를 종료합니다. - 크롬 다시 시작
MrUpsidownGoogle에 파비콘을 요청하면 응답 헤더를 볼 수 있습니다.
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
응답에 "Expires:" 헤더를 넣으면 클라이언트 브라우저는 해당 타임스탬프 이후에 아이콘을 다시 요청합니다. 적극적인 개발을 수행하는 동안 만료 타임스탬프를 1~2초 후로 설정할 수 있으며, 장기적으로는 좋지 않지만 항상 이를 가져옵니다.
Dean JChrome의 파비콘 지원에 버그가 있습니다. 이 답변을 무시하세요.
이것이 Google Chrome에서 파비콘을 새로 고치는 데 필요한 것이라는 인상으로 이 답변을 작성했습니다. 그러나 이것은 Chrome의 기록 동기화에서 아이콘이 복구 불가능하게 사라질 때까지 처음 5분 정도만 작동하는 것으로 나타났습니다.
원래 답변
캐시를 지우거나 브라우저를 다시 시작하거나 HTML을 다시 작성할 필요가 없습니다. 브라우저에서 이전에 캐시된 아이콘을 잊어버리도록 아이콘의 URL을 한 번만 변경하면 됩니다.
페이지의 <head>
<link>
요소를 통해 아이콘을 정의했다고 가정하면 콘솔에서 이 standard-JS one-liner 를 실행하여 이를 수행할 수 있습니다.
[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});
프로덕션에서 최종 사용자를 위해 자동으로 이 작업을 수행할 수 있는 고급 구현은 freshicon.js를 참조하세요.
Stuart P. Bentley크롬 버전: 68.0.3440.106
주소 표시줄에서 Chrome을 다시 시작하세요. chrome://restart
Pascal최근에 북마크를 복원하고 각 페이지를 방문하지 않고 FavIcons를 복원하는 방법을 찾고 있었습니다. 내 검색은 나를 이 스레드로 이끌었습니다.
비슷한 상황에 있는 사람들은 FAVICON RELOADER 애드온을 다운로드하기만 하면 됩니다. 설치가 완료되면 BOOKMARKS 드롭다운 메뉴에서 "즐겨찾기 아이콘 다시 로드" 명령을 찾을 수 있습니다.
https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api
bgcPHP ..를 사용하는 경우 이 줄을 사용할 수도 있습니다.
<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />
페이지가 로드될 때마다 파비콘이 새로 고쳐집니다.
Shakeel Ahmed변경되었는지 확인하기 위해 디버깅하는 데만 관심이 있다면 /etc/hosts 파일에 더미 항목을 추가하고 새 URL을 누르기만 하면 됩니다. 해당 favicon은 이미 캐시되지 않았으며 새 favicon이 작동하는지 확인할 수 있습니다.
파비콘의 이름을 변경하는 것 외에는 사용자가 새 사본을 받도록 강제할 수 있는 방법이 없습니다.
cpjolicoeur이것은 크롬 버그에 대한 해결 방법입니다. rel 속성을 스타일시트로 변경하십시오! 그래도 원본 링크를 유지하십시오. 매력처럼 작동합니다.
고객의 사이트/프로덕션 코드를 업데이트할 수 있어야 한다는 요구 사항이 있고 작동할 다른 솔루션을 찾지 못했기 때문에 이 해결 방법을 생각해 냈습니다.
user1427015이것은 Chrome에서 작동합니다.
Mac: 파일 삭제
${user.home}/Library/Application Support/Google/Chrome/Default/Favicons
Windows: 파일 삭제
C:\Users[사용자 이름]\AppData\Local\Google\Chrome\User Data\Default\Favicons C:\Users[사용자 이름]\AppData\Local\Google\Chrome\User Data\Default\Favicons-journal
원천
Nikolai Koudelia나는 이것이 정말로 오래된 질문이라는 것을 알고 있지만 오늘날에는 mozilla에만 적용되지만 여전히 관련이 있는 질문이기도 합니다. (비표준 브라우저용으로 코딩하지 않았기 때문에 탐색기가 무엇을 하는지 모르겠습니다.)
헤더에 아이콘 태그가 포함되어 있으면 Chrome이 제대로 작동합니다.
mozilla는 이 문제를 잘 알고 있지만 평소와 같이 성가신 작은 문제를 해결하지 않습니다. 6년이 지난 지금도.
따라서 파이어폭스에서 아이콘을 강제로 새로 고치는 두 가지 방법이 있습니다.
모든 클라이언트가 파이어폭스를 제거하도록 합니다. 그런 다음 다시 설치하십시오.
URL 표시줄에 도메인만 수동으로 입력합니다. http 또는 www를 사용하지 말고 도메인(mydomain.com)만 입력합니다.
이것은 물론 ns 레코드에 도메인 이름에 대한 확인만 포함되어 있다고 가정합니다.
rockmo단순한,
1: 코드를 만지작거리고 싶지 않습니다(ps 내 사이트 빌더는 코드를 사용하지 않고 "파일 업로드" 버튼을 사용하며 자체적으로 수행함)
2: CTRL + F5를 시도했지만 작동하지 않습니다....
해결 방법이 있습니다.
IE: 설정 톱니바퀴 O로 이동하여 모든 브라우저 기록 및 쿠키 지우기
Chrome: =처럼 보이는 X 아래의 오른쪽 상단 모서리에 있는 메뉴로 이동한 다음 설정, 방문 기록, 브라우징 데이터 지우기로 이동하여 적용되는 모든 상자를 선택합니다(기록, 쿠키 및 시간의 시작)
Robert이 파일 이름을 변경하면 됩니다='favicon1.ico'
Armin Alibasic다음은 단순한 애니메이션 파비콘과 FireFox 3.6.13(베타 버전)을 사용하여 관리한 방법입니다. 다른 버전의 FireFox에서도 작동할 것입니다. 작동하지 않는 경우 알려주세요. 기본적으로 artlung의 솔루션이지만 .gif 파일도 해결합니다.
- FTP 프로그램으로 열고 favicon.ico 및 favicon.gif 파일을 다운로드했습니다.
- 그런 다음 내 서버의 파일에서 삭제했습니다.
- 그런 다음 artlung이 제안한 대로 브라우저에서 열었습니다. http://mysite.com/favicon.ico 및 http://mysite.com/favicon.gif 해당 주소가 로드되고 404 오류 페이지가 표시되면("페이지를 찾을 수 없음")
- 그런 다음 두 파일을 모두 내 서버에 다시 업로드했고 PRESTO - 올바른 아이콘이 즉시 표시되었습니다.
lineofbirds또한 상대 경로뿐만 아니라 전체 이미지 URL을 입력해야 합니다.
http://www.example.com/images/favicon.ico
그리고 아닙니다:
images/favicon.ico
Amr Elgarhy위의 몇 가지 단계를 적용했음에도 문제가 계속 되면 IIS 서버를 다시 시작해 보십시오 . 도움이 되었기를 바랍니다...
Murat YıldızSimon, 나는 지금까지 다른 답변 중 어느 것도 받아 들여지지 않은 이유가 있다고 생각합니다. 따라서 나는 이것이 그럼에도 불구하고 Grails 문제일 수 있다고 생각합니다. 특히 'Resources Plugin'을 사용하는 경우에 그렇습니다.
플러그인이 파비콘을 제공하는 경우(비논리적으로 많은 경우), 플러그인 자체에 있는 파비콘은 사용자가 사용하려는 파비콘을 재정의할 수 있습니다.
일시적으로 모든 플러그인에서 파비콘을 삭제하면 문제가 해결되면 다음과 같은 문제가 발생할 가능성이 큽니다.
http://jira.grails.org/browse/GPRESOURCES-134
user569825앱 아이콘을 변경하려면 다음 단계를 따르세요.
- 프로젝트에 .ico 파일을 추가합니다.
- angular.json으로 이동하여 "projects" -> "architect" -> "build" -> "options" -> "assets"에서 아이콘 파일에 대한 항목을 만드십시오. 방법은 favicon.ico의 기존 항목을 참조하십시오.
- index.html로 이동하여 아이콘 파일의 경로를 업데이트하십시오. 예를 들어,
<link rel="icon" type="image/x-icon" href="abc.ico">
또는 아이콘 파일의 이름을 favicon.ico로 변경하고 디렉토리에서 교체하십시오.
- 서버를 다시 시작합니다.
- 브라우저를 새로고침하면 잘 됩니다.
Rut Shah출처 : http:www.stackoverflow.com/questions/2208933/how-do-i-force-a-favicon-refresh