Edge Extension Toolkit и отсутствующая кнопка расширения

Я преобразовал расширение Chrome в Edge с помощью Converter Toolkit. Расширение правильно загружает и изменяет страницу в Edge, однако кнопка «Действие страницы» недоступна на панели инструментов. Я добавил изображение 20 пикселей, как указывали другие, но это ничего не дало. Есть идеи, как заставить работать кнопку и всплывающее окно?

{
"author": "Me",
"background": {
    "page": "background.html",
    "persistent": true
},
"content_scripts": [
    {
        "css": [
            "styles.css"
        ],
        "js": [
            "jquery.js",
            "content.js"
        ],
        "matches": [
            "*://www.engadget.com/*"
        ]
    }
],
"description": "Hide unwanted articles on Engadget.com",
"icons": {
    "20": "icon_20.png",
    "128": "icon_128.png"
},
"manifest_version": 2,
"name": "SanGadget",
"page_action": {
    "default_title": "SanGadget Settings",
    "default_popup": "popup.html",
    "default_icon": {
        "20": "icon_20.png"
    }
},
"permissions": [
    "storage",
    "declarativeContent"
],
"version": "0.1.0",
"-ms-preload": {
    "backgroundScript": "backgroundScriptsAPIBridge.js",
    "contentScript": "contentScriptsAPIBridge.js"
}

}


person steve    schedule 13.04.2017    source источник
comment
Не могли бы вы подробнее рассказать, как вы контролируете, когда будет отображаться действие на странице?   -  person Haibara Ai    schedule 14.04.2017
comment
Действие страницы активируется, когда URL совпадает с : //www.engadget.com/. В Chrome кнопка неактивна до тех пор, пока URL-адрес не будет совпадать, а затем она будет включена. Я ожидал такого же поведения в Edge.   -  person steve    schedule 15.04.2017
comment
Не могли бы вы привести простой репродуктивный пример? Без этого мы не сможем понять, что случилось.   -  person Haibara Ai    schedule 18.04.2017


Ответы (1)


Вы используете chrome.declarativeContent.ShowPageAction для отображения значка действия на странице. К сожалению, не поддерживается в Microsoft Edge. пока вам следует рассмотреть другие варианты.

Например, вы можете определить текущий URL-адрес страницы (либо через определенные сценарии содержимого и использовать передачу сообщений для уведомления фоновой страницы, либо напрямую прослушивать _ 2_ на фоновой странице) и явно показать или скрыть действие страницы с помощью _ 3_ api, например browser.pageAction.show и browser.pageAction.hide.

person Haibara Ai    schedule 20.04.2017