사용자 정의 아이콘이 적용된 후 브라우저 작업이 기본 아이콘이 다시 나타나는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com//questions/12710061

문제

Chrome의 브라우저 작업 아이콘에 이상한 문제가 있습니다.매니페스트에서 정의한 브라우저 작업에 대한 기본 아이콘이 있습니다.아이콘이 올바르게 표시됩니다.그런 다음 백그라운드 페이지에서 일부 조건에서 전화 :

chrome.browserAction.setIcon({path:"green_32.png", tabId:request.tabId});
.

이 아이콘은 잠시 깜박이고 기본 아이콘으로 다시 변경됩니다.활성 탭과 setIcon로 전달 된 ID는 모든 프로세스 중에 동일하게 유지됩니다.

누군가가 왜 이것이 일어날 수 있는지 아이디어를 제안 할 수 있습니까?

도움이 되었습니까?

해결책

아이콘이 기본 상태로 재설정 된 이유는 탭이 탭이로드되고 "을 완료하고 상태를 획득합니다.

또는 on 또는 on 또는 o 브라우저 작업 그러나 나는 그것을 찾지 못했습니다 : 기본 아이콘은 실제로 적용됩니다 - - 디자인 - 로딩이 완료된 후 특정 페이지로. Call setIconsetIcon 핸들러로 옮겼으며 사용자 정의 아이콘이 지속됩니다.

이것은 탭 및 상태에로드 된 페이지에 탭별로 탭별로 설정되어 있음을 탭과 상태에로드 한 페이지에 대해 브라우저 작업 아이콘이 설정되었음을 내 이전의 이해와 모순됩니다.

@konraddzwinel이 사례를 테스트하는 간단한 확장을 제공합니다 (주석을보십시오). 이 동작을 보여주기 위해 background.js 스크립트를 변경했습니다.

chrome.browserAction.onClicked.addListener(function(tab)
{
  chrome.browserAction.setIcon({path: 'gfx/icon2.png', tabId: tab.id});
});
.

이 동작을 재현하려면 어떤 탭에서 브라우저 작업 아이콘을 눌러 변경하십시오. 그런 다음 페이지를 새로 고칩니다. 결과적으로 브라우저 작업 아이콘이 다시 기본값으로 재설정됩니다.

일부 문서 에서이 동작을 설명하는 경우,이를 댓글로 씁니다. 답변을 업데이트 할 것입니다. 지금까지 내가 읽은 것에서, 나는 기본 아이콘이 생성 시간에 새로운 탭에 대해 설정된 다음, 그것의 변경은 확장자의 통제 하에서 변경된다고 확신했다.

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