У меня есть расширение с настройкой идентификатора в манифесте, как это:
"browser_specific_settings": {
"gecko": {
"id": "{e3ec45ef-43ba-499d-8469-6d0e2f06921f}",
"strict_min_version": "42.0"
}
},
, который использует indexedDB (PouchDB). Я установил это расширение из addons.mozilla.org, отключил, установил временно версию для разработки, и Firefox удаляет данные обоих расширений (потому что они имеют одинаковый идентификатор) каждый раз, когда я удаляю только временно версию.
Это не происходит, когда я не устанавливаю идентификатор в манифесте (временно версия имеет случайный идентификатор в этом случае), но это не решение, потому что для некоторых API и версии Firefox для Android требуется, чтобы идентификатор устанавливался вручную
Как запретить Firefox удалять данные обычного расширения, когда я временно удаляю одно?
На всякий случай, если кто-то захочет воспроизвести проблему:
- Установите это расширение https://addons.mozilla.org/en-US/firefox/addon/tagit/?src=search
- Перейти на страницу расширения (кнопка с глазами на панели браузера)
- Перейти на страницу «Теги» и создать любой тег (написать что-нибудь и нажать Enter)
- Отключитьэто расширение на странице about: addons
- Клонируйте свой репозиторий и извлеките его, чтобы зафиксировать, где идентификатор указан в манифесте
git clone https://github.com/DevAlone/tagit.git; git checkout 8e0d04201865fd7b7543b167279a045c89408d5c
- Установить зависимости и построить
npm install; npm run build
- Установить это временнорасширение (
build
dir) на about: страница отладки - Удалить это временное расширение на about: страница отладки
- Включить обычное расширение на about: страница дополнений
- Снова перейдите на страницу тегов, чтобы увидеть, что база данных исчезла