Сценарий содержимого надстройки Firefox Nightly для Android загружается только после открытия всплывающего окна надстройки
Я создал надстройку, которая манипулирует HTML-кодом конкретного сайта на основе настроек, которые пользователь выбирает во всплывающем окне надстройки (настройки сохраняются с помощью «chrome.storage.local», я только что перенес свой код из Chrome, и он работал).
Когда пользователь открывает определенный веб-сайт, предполагается, что надстройка запускает непрерывный (интервальный) скрипт содержимого, который изменяет HTML, проблема в том, что это не так, требуется, чтобы пользователь загружал сайт, а затем открывал надстройку. -на 'всплывающее окно', затем вернуться на сайт, после чего скрипт начинает работать.
Как я могу это исправить? Как заставить скрипт запускаться, когда пользователь открывает сайт? Это проблема только на андроиде, а не на хроме или десктопном фаерфоксе.
Вот манифест.json-
{
"name": "9gag post filter",
"description": "A post filter for 9GAG.com",
"version": "1.1.2",
"browser_specific_settings": {
"gecko": {
"id": "amitbokodev@gmail.com",
"strict_min_version": "42.0"
}
},
"manifest_version": 3,
"permissions": [
"storage"
],
"action": {
"default_popup": "index.html"
},
"content_scripts": [{
"css": ["assets/css/content.css"],
"js": ["assets/js/jquery_slim_mini.js","assets/js/content.js"],
"matches": ["https://9gag.com/*"]
}]
}
И весь исходный код (это открытый исходный код)
1 ответ
Единственное решение, которое я нашел, — это отредактировать манифест и вернуться к Manifest v2 (используя примеры mv2, такие как старая демонстрация Beastify). Конечно, это нежелательно, поскольку нарушает совместимость с браузерами на базе Chromium, но, думаю, об этом стоит упомянуть.