이 질문은 엄청나게 오래되었지만 Chrome 스토어에 확장 프로그램을 추가하지 않았거나 그룹 정책에 액세스 할 수없는 확장 프로그램 개발자로서이 팝업 메시지를 사용 중지하는 방법을 검색 할 때 Google에서 여전히 최고의 결과입니다 그들의 운영 체제에 크롬 개발 빌드를 사용하지 않습니다. 현재이 상황에는 공식적인 해결책이 없으므로 여기에 다소 '해킹적인'해결책을 게시하겠습니다.
이 방법을 사용하면 즉시 새 창을 만들고 이전 창을 닫을 수 있습니다. 팝업 창은 원래 창과 연결되어 있으므로 일반적인 사용 사례에서는 해당 창이 닫히기 때문에 팝업이 나타나지 않습니다.
가장 간단한 해결책은 새 창을 만들고 콜백에서 방금 만든 창이 아닌 모든 창을 닫는 것입니다.
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
또한이 확장이 설치되는 방법을 감지하고 개발 설치 인 경우에만이 코드를 실행할 수 있습니다 (아마도 릴리스 코드에서 완전히 제거하는 것이 가장 좋습니다). 먼저 chrome.management.getSelf 호출에 대한 콜백 함수를 생성하여 확장 프로그램의 설치 유형을 확인할 수 있습니다. 기본적으로 위의 코드를 if 문으로 래핑합니다.
function suppress_dev_warning(info) {
if (info.installType == "development") {
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
}
}
다음으로 우리는 콜백과 함께 chrome.management.getSelf를 호출합니다.
chrome.management.getSelf(suppress_dev_warning);
이 방법에는 몇 가지주의 사항이 있습니다. 즉, 크롬을 처음 열 때 코드가 한 번만 실행된다는 지속적인 배경 페이지를 가정합니다. 두 번째 문제는 chrome : // extensions 페이지에서 확장 프로그램을 다시로드 / 새로 고치면 현재 열려있는 모든 창을 닫고 경험에 따라 때때로 경고가 표시된다는 것입니다. 이 특별한 경우는 "chrome : // extensions"에 열려있는 탭이 있는지 확인하고 실행중인 경우 실행하지 않으면 피할 수 있습니다.