Я работаю над расширением для Google Chrome.Это позволяет нашим пользователям отправлять заявки в службу поддержки нашего онлайн-продукта непосредственно со страницы, на которой они находятся.
Я использовал правила страницы, чтобы ограничить расширение только страницами наших продуктов.Некоторые из наших пользователей сталкиваются с проблемой, если всплывающее окно больше не работает.
Это то, что видят некоторые наши пользователи, когда они на одной странице наших продуктов.Кроме того, значок расширения в цвете, когда пользователь видит это.Не уверен, что это полезная информация.
У меня возникли проблемы при воссоздании проблемы.Большинству наших пользователей дистанционно приходится делать диагностику.
Чтобы воссоздать проблему, я попытался принудительно выйти из 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() {...}
, но я не уверен.
Любая помощь приветствуется.