pageAction
A page action is a clickable icon inside the browser's address bar.

You can listen for clicks on the icon, or specify a popup that will open when the icon is clicked.
If you specify a popup, you can define its contents and behavior using HTML, CSS, and JavaScript—just like a normal web page. JavaScript running in the popup gets access to all the same WebExtension APIs as your background scripts.
You can define most of a page action's properties declaratively using the page_action
key in your manifest.json
, but can also redefine them programmatically using this API.
Page actions are for actions that are only relevant to particular pages (such as "bookmark the current tab"). If they are relevant to the browser as a whole (such as "show all bookmarks"), use a browser action instead.
Events
-
pageAction.onClicked
-
Fired when a page action icon is clicked. This event will not fire if the page action has a popup.
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
ImageDataType |
Yes |
79 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
15 |
? |
getPopup |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
50The 'tabId' parameter is ignored: the page action popup is the same for all tabs.
|
? |
15 |
? |
getTitle |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
15The API exists, but the title not visible in the UI.
|
? |
hide |
Yes |
14 |
45 |
? |
Yes |
No |
? |
? |
50Before version 56, the 'tabId' parameter was ignored, and the page action was hidden for all tabs.
|
? |
No |
? |
isShown |
No |
No |
59 |
? |
No |
No |
? |
? |
79 |
? |
No |
? |
onClicked |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
50 |
? |
15 |
? |
openPopup |
No |
No |
57 |
? |
No |
16 |
? |
? |
79 |
? |
16 |
? |
setIcon |
YesBefore Chrome 23, path couldn't specify multiple icon files, but had to be a string specifying a single icon path.
|
14 |
45 |
? |
15 |
14 |
? |
? |
79 |
? |
15 |
? |
setPopup |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
50The 'tabId' parameter is ignored, and the popup is set for all tabs.
|
? |
15 |
? |
setTitle |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
15The API exists, but the title not visible in the UI.
|
? |
show |
Yes |
14 |
45 |
? |
Yes |
No |
? |
? |
50Before version 56, the 'tabId' parameter was ignored, and the page action was shown for all tabs.
|
? |
No |
? |