문제

자체 Tomcat을 사용하여 로컬로 실행하는 Grails 애플리케이션이 있으며 새로운 것을 위해 Favicon을 변경했습니다. 문제는 브라우저에서 볼 수 없다는 것입니다. 오래된 Favicon이 나타나거나 전혀 Favicon을 얻지 못하지만 내 새로운 것을 얻지 못합니다. 나는 이것이 성배 문제 자체라고 생각하지 않습니다.

Favicons는 어떻게해야합니까? 그들은 어떻게 일해야합니까? 내 브라우저에 오른쪽 아이콘이있는 수많은 책갈피가 있으며 결코 새로 고침되지 않는 것 같습니다. 서버/브라우저가 캐싱을 중지하도록하려면 어떻게해야합니까? 일반적으로 16x16에 불과한 경우 항상 캐시하는 것은 꽤 어리석은 것 같습니다. 페이지를 방문 할 때마다 업로드하지 않겠습니까? 정확히 큰 오버 헤드가 아닙니다.

도움이 되었습니까?

해결책

사이트의 Favicon을 새로 고치려면 브라우저가 링크 태그와 파일 이름의 쿼리 스트링을 사용하여 새 버전을 다운로드하도록 강요 할 수 있습니다. 이는 제작 환경에서 사용자가 업데이트를받을 수 있도록 특히 유용합니다.

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

다른 팁

좋아, 10 분의 wtf'ing 후, 그것을 고칠 수있는 쉬운 방법은 lineofbirds와 가깝습니다.

  1. www.yoursite.com/favicon.ico를 입력하십시오 (또는 www.yoursite.com/apple-touch-icon.png 등).
  2. 푸시 입력하다
  3. Ctrl 키+F5
  4. 브라우저 재시작 (예 : Firefox)

이 답변은 아직 주어지지 않았으므로 게시 할 것이라고 생각했습니다. 나는 웹을 모두 보았고 지역 개발에서 Favicon을 테스트하기위한 좋은 대답을 찾지 못했습니다.

현재 버전의 Chrome (OSX)에서 다음을 수행하면 즉시 Favicon 새로 고침을 받게됩니다.

  1. 탭 위로 마우스를 마칩니다
  2. 마우스 오른쪽 버튼으로 클릭
  3. Reload를 선택하십시오
  4. 당신의 favicon은 이제 새로 고침해야합니다

이것은 내가 Favicon을 로컬로 새로 고치는 가장 쉬운 방법입니다.

Favicon 파일의 이름을 바꾸고 다음과 같은 새 이름으로 HTML 헤더를 추가하십시오.

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

PHP를 사용하는 경우 Favicon의 MD5 하시를 쿼리 스트링으로 사용할 수도 있습니다.

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

이런 식으로 Favicon은 변경되었을 때 항상 새로 고침됩니다.

주석에서 지적한 바와 같이 MD5 하슈 대신 마지막 수정 된 날짜를 사용하여 동일한 것을 달성하고 서버 성능을 조금 절약 할 수 있습니다.

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

브라우저가 오래된 파비콘을 저장하는 데 사용하는 파일을 파괴하면 새 파일을로드 할 수 있습니다.

  1. 브라우저를 닫으십시오. 더 이상 브라우저 프로세스가 실행되지 않는지 확인하십시오 (예 : 작업 관리자 확인 작업 관리자 chrome.exe 또는 firefox.exe).
  2. 브라우저가 사용자 파일을 저장하는 위치로 이동하십시오.
  3. Favicon 캐시를 삭제하십시오.
    • 크롬의 경우 제거하십시오 Favicons 그리고 Favicons-journal
    • Firefox의 경우 제거하십시오 favicons.sqlite

이것은 거의 확실하게 작동합니다. 그렇지 않은 경우 :

  • 가능성 1 : 브라우저에 대한 업데이트로 Favicon 캐시 작동 방식이 변경되었습니다. 이 답변을 새로운 지침으로 편집하십시오.
  • 가능성 2 : 파비콘 문제는 과도한 캐싱과 관련이 없습니다. 대신 리소스로드 문제 일 수 있습니다. 개발자 도구를 사용하여 새로운 Favicon이 올바르게 다운로드하고 있는지 확인하십시오.

Mac OS X의 Chrome에서 Favicon 캐시로 파일을 제거 할 수 있습니다.

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

글쎄, 오버 헤드는 오버 헤드이지만 그렇습니다. 너무 크지는 않습니다.

또한 브라우저는 때때로 캐시 된 파일에 대해 "탐욕"입니다. 캐시를 지우거나 브라우저를 다시 시작하고 변경 사항이 표시 될 수 있습니다. 그래도 실패하면 ...

내 싼 솔루션은 다음과 같습니다.

  1. 파일을 방문하십시오 http://example.com/favicon.ico 브라우저에서.
  2. webroot에서 favicon.ico를 삭제하십시오.
  3. 방문 http://example.com/favicon.ico 다시 브라우저에서 누락되었는지 확인하십시오.
  4. 새로운 것을 당신의 webroot에 업로드하십시오.
  5. 방문 http://example.com/favicon.ico 다시 브라우저에서 새로운 브라우저인지 확인하십시오.

그 순서가 작동하지 않으면 다른 일이 진행되고 있습니다.

브라우저에 따라 다르게 처리되지만 일반적으로 사이트의 기본 페이지로 이동하여 하드 새로 고침을 수행합니다. CTRL 키 + F5, 일반적으로 업데이트 할 수 있습니다.

Mac : + 옮기다-아르 자형 또는 잠깐 Ctrl 키 브라우저에서 새로 고침 버튼을 클릭하십시오.

Internet Explorer의 경우 또 다른 솔루션이 있습니다.

  1. 인터넷 익스플로러를 열었습니다.
  2. 메뉴> 도구> 인터넷 옵션을 클릭하십시오.
  3. 일반> 임시 인터넷 파일> "설정"버튼을 클릭하십시오.
  4. "파일보기"버튼을 클릭합니다.
  5. 이전 favicon.ico 파일을 찾아 삭제하십시오.
  6. 브라우저를 다시 시작합니다 (인터넷 익스플로러).

웹 브라우저 문제 일 가능성이 높습니다. 브라우저에서 캐시를 삭제하고 브라우저를 닫고 다시 열어야합니다. 그것은 그것을 고칠 것입니다.

나는 당신이 그 페이지를 다시 방문 할 때까지 당신의 파비콘이 당신의 즐겨 찾기에 새로 고침 될 것이라고 생각하지 않습니다.

웹 브라우저는 인터넷으로 나가서 새로운 Favicon을 자체적으로 확인하지 않습니다. 감사합니다.

새 탭에서 열어보십시오

위의 많은 것들을 시도했습니다 (캐시 재설정, 새로 고침, 링크 태그를 사용하여) .htaccess FilleSbyType 변수를 파일하고 재설정하십시오.

그러나 이것은 Chrome (25.0.x)과 Safari (6.0.1) 모두에서 마침내 저를 위해 일했습니다.

  1. 플러싱 캐시
  2. Favicon을 하드링하는 것 <link> 꼬리표
  3. 탐색 mysite.com/favicon.ico
  4. 열리는 mysite.com 새 탭에서

(3 단계까지, 같은 탭에서 새로 고침이 오래된 아이콘을 계속 재현했습니다.)

MacOS의 Chrome의 경우 이미 제안 된대로 전체 Chrome Favicon 데이터베이스를 삭제하지 않으려면 충돌하는 아이콘 만 삭제할 수 있습니다.

  1. 크롬을 종료하십시오
  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 그리고 반환을 누르십시오
  2. 크롬을 다시 시작하십시오

Google에서 Favicon을 요청하면 응답 헤더를 살펴볼 수 있습니다.

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

응답에 "만료 :"헤더를 넣으면 클라이언트 브라우저는 해당 타임 스탬프 이후 아이콘을 다시 반복합니다. 적극적인 개발을 수행하는 동안 미래에 만료 타임 스탬프를 1 ~ 2 초로 설정하고 항상 장기 계획이 좋지는 않지만 항상 이것을 가져올 수 있습니다.

Chrome의 Favicon 지원은 버그가 있습니다.이 답변을 무시하십시오.

나는 이것이 Chrome에서 Favicons를 새로 고치는 데 필요한 인상을 받았다는 인상을 받았습니다. 그러나, 이것은 아이콘이 얻을 때까지 처음 5 분 정도만 작동한다는 것이 밝혀졌습니다. Chrome의 역사 동기화에서 돌이킬 수 없었습니다.

원래 답변

캐시를 지우고 브라우저를 다시 시작할 필요가 없습니다. 또는 HTML을 다시 작성 - 아이콘의 URL을 변경하면됩니다. 한 번, 브라우저가 이전에 캐릭 된 아이콘을 잊어 버리도록합니다.

아이콘을 통해 정의했다고 가정합니다 <link> 페이지의 요소 <head>, 당신은 이것을 실행하여 그렇게 할 수 있습니다 표준 -JS 1 라이너 콘솔에서 :

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

생산에서 최종 사용자를 위해 자동으로이를 수행 할 수있는이를보다 고급 구현하려면 참조하십시오. Freshicon.js.

나는 최근에 책갈피를 복원하고 각 페이지를 방문하지 않고도 파비콘을 복원 할 수있는 방법을 찾고있었습니다. 내 검색으로 나를이 스레드로 가져 왔습니다.

비슷한 상황에 처한 사람들의 경우 단지 Favicon Reloader Addon을 다운로드합니다. 설치되면 북마크 드롭 다운 메뉴에서 "좋아하는 아이콘 새로 고침"명령을 찾을 수 있습니다.

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

PHP를 사용하는 경우이 라인을 사용할 수도 있습니다.

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

각 페이지로드에서 Favicon을 새로 고칠 것입니다.

크롬 버전 : 68.0.3440.106

크롬을 다시 시작합니다 (주소 표시 줄에서) :chrome://restart

변경되었는지 확인하기 위해 디버깅에 관심이 있으시면 /etc /hosts 파일에 더미 항목을 추가하고 새 URL을 누를 수 있습니다. 그 파비콘은 이미 캐시되지 않았으며 새로운 것이 작동하고 있는지 확인할 수 있습니다.

Favicon의 이름을 변경하지 않으면 사용자가 새 사본을 받도록 강요 할 수있는 방법이 없습니다.

Chrome에서 작동합니다.

  • Mac : 파일 삭제

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

  • Windows : 파일 삭제

    C : users [username] appdata local google chrome user data default favicons c : users [username] appdata local chrome user data default favicons-journal

원천

Chrome 버그의 해결 방법입니다. Rel 속성을 스타일 시트로 변경하십시오! 그래도 원래 링크를 유지하십시오. 매력처럼 작동합니다.

고객의 사이트 / 생산 코드를 업데이트 할 수 있어야하기 때문에이 해결 방법을 생각해 냈으며 다른 솔루션을 찾지 못했습니다.

나는 이것이 정말 오래된 질문이라는 것을 알고 있지만 요즘에는 모질라에게만 적용되지만 여전히 관련이있는 질문이기도합니다. (표준 브라우저를 코딩하지 않는 Explorer가 어떤지에 대해 무엇을하는지 모르겠습니다).

크롬은 헤더에 아이콘 태그가 포함되어 있으면 잘 작동합니다.

Mozilla는이 문제를 잘 알고 있지만 평소와 같이 성가신 작은 것들을 결코 고치지 않습니다. 6 년 후.

따라서 Firefox로 아이콘 새로 고침을 강요하는 두 가지 방법이 있습니다.

  1. 모든 고객에게 Firefox를 제거하도록하십시오. 그런 다음 다시 설치하십시오.

  2. URL 막대에 도메인 만 수동으로 입력하십시오. http 또는 www 만 사용하지 마십시오 (mydomain.com).

물론 NS 레코드에는 도메인 이름에 대한 해상도가 포함되어 있다고 가정합니다.

간단한 애니메이션 Favicon 및 Firefox 3.6.13 (베타 버전)으로 관리하는 방법은 다음과 같습니다. 다른 버전의 Firefox에서도 작동하지 않을 것입니다. 그렇지 않은지 알려주십시오. 기본적으로 Artlung의 솔루션이지만 .gif 파일도 다루고 있습니다.

  1. FTP 프로그램으로 열리고 favicon.ico 및 favicon.gif 파일을 다운로드했습니다.
  2. 그런 다음 내 서버 파일에서 삭제했습니다.
  3. 그런 다음 Artlung이 제안한대로 내 브라우저에서 열었습니다.http://mysite.com/favicon.ico 그리고 http://mysite.com/favicon.gif 주소가로드되고 404 개의 오류 페이지를 표시하면 ( "페이지를 찾지 못함")
  4. 그런 다음 두 파일을 서버에 다시 업로드하고 Presto- 올바른 아이콘이 즉시 표시되었습니다.

또한 상대 경로뿐만 아니라 전체 이미지 URL을 넣으십시오.

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

그리고 :

images/favicon.ico

위의 몇 단계를 적용 했음에도 불구하고 문제가 계속 된 경우 IIS 서버를 다시 시작하십시오. 도움이 되었기를 바랍니다...

단순한,

1 : 코드로 바이올린을 바르고 싶지 않습니다 (PS 내 사이트 빌더는 코드를 사용하지 않고 "파일 업로드"버튼을 사용하고 자체적으로 수행합니다).

2 : 나는 시도했다 CTRL 키+F5 그리고 그것은 나에게는 효과가 없습니다 ....

해결책이 있습니다.

즉 : 설정 코그로 이동하여 모든 브라우저 기록과 쿠키를 지우십시오.

Chrome : a =처럼 보이는 X 아래의 오른쪽 상단 모서리에있는 메뉴로 이동 한 다음 설정, 기록, 클리어 브라우징 데이터로 이동하여 적용되는 모든 상자를 확인하십시오 (역사, 쿠키를했고 Catche를 비우십시오. 시간의 시작)

이 filename = 'favicon1.ico'를 변경하십시오.

앱 아이콘을 변경하려면 아래 단계를 따르십시오.

  1. 프로젝트에 .ico 파일을 추가하십시오.
  2. Angular.json으로 이동하여 "프로젝트" -> "아키텍트" -> "빌드" -> "옵션" -> "자산"으로 이동하여 아이콘 파일에 대한 항목을 만듭니다. 이를 수행하는 방법을 알아 보려면 기존의 favicon.ico 항목을 참조하십시오.
  3. index.html로 이동하여 아이콘 파일의 경로를 업데이트하십시오. 예를 들어,

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

또는 아이콘 파일의 이름을 favicon.ico로 바꾸고 디렉토리로 바꾸십시오.

  1. 서버를 다시 시작하십시오.
  2. 하드 새로 고침 브라우저와 당신은 갈 수 있습니다.

사이먼, 나는 지금까지 다른 답변이 받아 들여지는 이유가 있다고 생각합니다. 따라서 나는 이것을 믿는다 ~할 수 있었다 그럼에도 불구하고 성배 문제가 되십시오. 특히 '리소스 플러그인'을 사용하는 경우.

플러그인이 Favicon을 제공하는 경우 (비논리적으로 - 많은 사람들), 당신이 사용하고자하는 것을 무시할 수 있습니다.

모든 플러그인에서 Favicon을 삭제하면 임시 문제가 해결되면이 문제가 발생할 가능성이 높습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top