Вставить скрипт содержимого в старые вкладки, когда расширение запускается с разрешением activeTab - PullRequest
0 голосов
/ 14 января 2020

Я устал от длинных ожидающих рассмотрения сообщений в Chrome Интернет-магазине и решил использовать разрешение activeTab вместо tabs и <all_urls> (мой сценарий содержимого все еще соответствует <all_urls>).

манифест. json был:

"content_scripts": [
    {
        "matches": [
            "<all_urls>"
        ],
        "js": [
            "content/index.js"
        ],
        "run_at": "document_start",
        "all_frames": true,
        "match_about_blank": true
    }
],
"permissions": [
    "storage",
    "tabs",
    "<all_urls>"
],

и теперь:

"content_scripts": [
    {
        "matches": [
            "<all_urls>"
        ],
        "js": [
            "content/index.js"
        ],
        "run_at": "document_start",
        "all_frames": true,
        "match_about_blank": true
    }
],
"permissions": [
    "storage",
    "activeTab"
],

Но теперь, когда приложение установлено или активировано, Сценарий содержимого внедряется во вновь созданные вкладки, но не вводится в старые вкладки.

Нажатие на всплывающее окно (или удаление всплывающего окна и использование действия браузера) и добавление сценария с помощью chrome.tabs.executeScript работает, но я нахожу это неудобно для пользователей. Прослушивание chrome.tabs.onActivated или использование chrome.tabs.query({active: true}) не позволяет внедрить скрипт без нажатия на значок.

Есть ли способ сделать так, чтобы скрипт контента плавно вводился в старые вкладки (по крайней мере, когда активирована вкладка ) без широких разрешений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...