2016-11-09 2 views
0

Я переношу свое расширение с Chrome на Firefox с помощью WebExtensions.Firefox-Extension: Захват события «onInstalled»

Нет поддержки для «browser.runtime.onInstalled» -event, так что действительно ли невозможно поймать это событие?

+0

Я думаю, я должен просто использовать переменную localStorage для запуска сценария после установки, а затем никогда больше. –

ответ

0

Вы должны использовать локальное хранилище. При удалении хранилище очищается. При отключении хранилище не очищается.

browser.storage.get('local', 'install_date').then(function(install_date) { 
    if (!install_date) { 
     // just installed 
     browser.storage.set('local', { 
      install_date: Date.now() 
     }); 
    } 
}); 
+0

Я уже решил это через localStorage.setItem(), но у меня есть проблема, что пользователь может удалить эти данные, когда он очистит свои файлы cookie. Это не тот случай с хром, потому что я использую версию «Nightly», версию разработчика FireFox или потому, что я использую метод localStorage, который неверен для моей цели? Или невозможно, чтобы FireFox сохранял данные навсегда без разрешения пользователя на удаление (кроме удаления)? –

+1

Использование 'chrome.stroage' устранит эту проблему @JuliusS. localStorage всегда очищается, когда пользователь очищает файлы cookie/данные. Пользователи Firefox сделали все правильно. – Noitidart

+0

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

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

  • Нет связанных вопросов^_^