Почему изображение в браузере икона по умолчанию снова появится после применения пользовательского значка?

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

Вопрос

У меня странная проблема с значком действия браузера в Chrome.Существует значок по умолчанию для действий браузера, определенного в манифесте.Икона отображается правильно.Затем на фоне фона в некоторых условиях я звоню:

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

Этот значок на мгновение мигает, а затем меняется на значок по умолчанию.Активная вкладка и его идентификатор, передаваемые на setIcon, остаются прежними в течение всего процесса.

Может кто-нибудь предложить идею, почему это может произойти?

Это было полезно?

Решение

Причина, по которой значок был сбрасывается до состояния по умолчанию каждый раз, когда я позвонил setIcon до вкладки, заканчивая загрузкой и получает "полное" состояние.

Думаю, должна быть некоторая информация об этом в документации на вкладками или на < href="http://developer.chrome.com/extensions/Browseraction.html" Rel="noreferrer"> Действия браузера , но я не нашел его: значок по умолчанию на самом деле применяется - Дизайн - на определенную страницу после завершения загрузки. Я переместил вызов setIcon в обработчик tabs.onUpdated, а теперь настраиваемые икона сохраняются.

Это противоречит моему первому пониманию, что значок действия браузера устанавливается на вкладке на вкладку, беззаконно на странице, загруженной на вкладку, и его состояние.

@konraddzwinel любезно предоставил простое расширение для проверки случая (посмотрите на комментарии). Я изменил свой скрипт JS , чтобы продемонстрировать это поведение:

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

Чтобы воспроизвести это поведение, на любой вкладке нажмите значок действия браузера, чтобы изменить его. Затем обновите страницу. В результате появляется значок действия браузера на обратном порядке.

Если такое поведение объясняется в какой-то документации, пожалуйста, напишите это в комментарии, и я буду обновлять ответ. От того, что я до сих пор прочитал, я был убежден, что значок по умолчанию установлен для новой вкладки в его время создания, а затем любые изменения в нее исключительно под контролем расширения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top