Всплывающее действие расширения Chrome не работает - PullRequest
0 голосов
/ 05 апреля 2019

Я работаю над расширением для Google Chrome.Это позволяет нашим пользователям отправлять заявки в службу поддержки нашего онлайн-продукта непосредственно со страницы, на которой они находятся.

Я использовал правила страницы, чтобы ограничить расширение только страницами наших продуктов.Некоторые из наших пользователей сталкиваются с проблемой, если всплывающее окно больше не работает.

Это то, что видят некоторые наши пользователи, когда они на одной странице наших продуктов.Кроме того, значок расширения в цвете, когда пользователь видит это.Не уверен, что это полезная информация.

enter image description here

У меня возникли проблемы при воссоздании проблемы.Большинству наших пользователей дистанционно приходится делать диагностику.

Чтобы воссоздать проблему, я попытался принудительно выйти из Chrome и снова открыть.Также перезагрузка моего компьютера не воссоздала его.

Похоже, что удаление расширения и его повторная установка решают проблему.

Это код, который я использую для включения / отключения расширения.

const PAGE_RULE = [{
    id: 'DISPLAY_RULE_SS',
    conditions: [
      new chrome.declarativeContent.PageStateMatcher({
        pageUrl: {hostSuffix: '.localhost.com', pathPrefix: '/app/'},
      }),
    ],
    actions: [new chrome.declarativeContent.ShowPageAction()],
  },]

chrome.runtime.onInstalled.addListener(function() {

    chrome.tabs.onActivated.addListener((activeInfo) => {

        chrome.declarativeContent.onPageChanged.getRules(['DISPLAY_RULE_SS'], (rules) => {

            if(rules.length !== 0){
                return;
            }

            chrome.declarativeContent.onPageChanged.addRules(PAGE_RULE);    
        });     
    });
});

Это мой манифест.

{
    "name"              : "Support App",
    "version"           : "0.0.3",

    "description"       : "Fill in a brief description of your issue, along with a few details, and our support team will be notified immediately.",
    "manifest_version"  : 2,

    "icons": {
        "128" : "./img/murmuration_square_transparent.png"
    },

    "background" : {
        "scripts"    : ["./backgrounds/default_background.js"],
        "persistent" : false
    },

    "permissions" : [
        "history",
        "tabs",
        "declarativeContent",
        "activeTab",
        "https://*.localhost.com/*",
    ],

    "page_action" : {
        "default_icon"  : "./img/murmuration_square_transparent.png",
        "default_popup" : "../default_interface.html"
    },

    "web_accessible_resources": [
        "src/default_index.js"
    ]
}

Я подозреваю, что проблема заключается всвязано с тем, что вся логика находится в пределах chrome.runtime.onInstalled.addListener(function() {...}, но я не уверен.

Любая помощь приветствуется.

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