Сценарий содержимого надстройки 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, но, думаю, об этом стоит упомянуть.

Другие вопросы по тегам