2011-11-02 2 views
5

Предположим, что пользователь отключает мое расширение, а затем его активирует.Как узнать, включено ли расширение Chrome (после его отключения)

Как запустить функцию при повторном включении расширения?

Я попытался сделать что-то похожее на запуск функции on-extension-install, используя localStorage, но он не работает для этого случая с расширением-reenabled, потому что localStorage не очищается для фоновой страницы, когда он отключен.

if (!localStorage["isInstalled"]) { 
onInstall(); 
localStorage["isInstalled"] = 1; 
} 
+0

С расширением и перспективами пользователя отключение расширения имеет тот же эффект, что и закрытие браузера. Зачем вам нужно различать эти два случая? – serg

ответ

1

Посмотрите на management API, что позволяет реагировать на события, как onEnabled, стреляя, когда приложение или расширение было включено.

+6

К сожалению onEnabled активируется только при включении других расширений. Он не срабатывает, когда включено расширение. –

2

Самостоятельное расширение не может контролировать, когда оно отключается. Для этого потребуется второе расширение.

В качестве небольшой альтернативы можно использовать sessionStorage["isInstalled"] = 1;, который получил бы снятый, если расширение было отключено, но это также будет очищен, если пользователь вышел Chrome.

Смежные вопросы