Я переношу свое расширение с Chrome на Firefox с помощью WebExtensions.Firefox-Extension: Захват события «onInstalled»
Нет поддержки для «browser.runtime.onInstalled» -event, так что действительно ли невозможно поймать это событие?
Я переношу свое расширение с Chrome на Firefox с помощью WebExtensions.Firefox-Extension: Захват события «onInstalled»
Нет поддержки для «browser.runtime.onInstalled» -event, так что действительно ли невозможно поймать это событие?
Вы должны использовать локальное хранилище. При удалении хранилище очищается. При отключении хранилище не очищается.
browser.storage.get('local', 'install_date').then(function(install_date) {
if (!install_date) {
// just installed
browser.storage.set('local', {
install_date: Date.now()
});
}
});
Я уже решил это через localStorage.setItem(), но у меня есть проблема, что пользователь может удалить эти данные, когда он очистит свои файлы cookie. Это не тот случай с хром, потому что я использую версию «Nightly», версию разработчика FireFox или потому, что я использую метод localStorage, который неверен для моей цели? Или невозможно, чтобы FireFox сохранял данные навсегда без разрешения пользователя на удаление (кроме удаления)? –
Использование 'chrome.stroage' устранит эту проблему @JuliusS. localStorage всегда очищается, когда пользователь очищает файлы cookie/данные. Пользователи Firefox сделали все правильно. – Noitidart
Да, я уже начал менять все на этот метод, и все работает по назначению. Очень обидно, что разные браузеры обрабатывают его по-разному, но я также адаптирую свой хром-код на всякий случай, когда они изменят права пользователя в будущем. –
Я думаю, я должен просто использовать переменную localStorage для запуска сценария после установки, а затем никогда больше. –