Замените "page_action
" на "browser_action
" в вашем manifest.json
.Вы должны быть в состоянии видеть всплывающее окно на всех страницах таким образом.
Возможно дублирование: Всплывающее окно расширения Chrome больше не отображается Но, похоже, у меня недостаточно репутационных очков, чтобыпометьте это для этого.
Всплывающие окна только для определенных шаблонов URL-адресов хостов
(Изменить)
Если вы хотите, чтобы ваше всплывающее окно было доступно только наДля некоторых сайтов (например, только в Google) вам необходимо указать разрешения declarativeContent
в манифесте, а также небольшую настройку в фоновом скрипте.
Итак, ваш manifest.json
будет выглядеть примерно такэто:
{
"name": "Popup poc",
"version": "1.4",
"description": "Simple popup example",
"permissions": ["declarativeContent"],
"content_scripts": [
{
"matches": ["https://www.google.com/*"],
"js": ["content_script.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"page_action": {
"default_name": "Display Map",
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"manifest_version": 2
}
Ваш background.js
будет выглядеть следующим образом:
chrome.runtime.onInstalled.addListener(function() {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
chrome.declarativeContent.onPageChanged.addRules([{
conditions: [new chrome.declarativeContent.PageStateMatcher({
pageUrl: {hostEquals: 'www.google.com'},
})
],
actions: [new chrome.declarativeContent.ShowPageAction()]
}]);
});
});
Этот код в основном взят из Getting Started Tutorial .