chrome extension context menu not showing - google-chrome-extension

chrome extension context menu not showing up, just in current debug profile, even log out, and create a new profile and login the same account. But, It works in another profile.
Use chrome.contextMenus.create({contexts:["all"],title:"test"}) run at background, also, not showing up.

Related

Is there a way to access chrome extension background pages on Cypress?

I'm interested in seeing the network tab in an extension's background page while running tests using Cypress.
When I go to chrome://extensions and click background page within the Cypress browser nothing pops up. I've also tried navigating directly to chrome-extension://(extension-id)/_generated_background_page.html but this stops the extension from working entirely.

Instead of running the action, chrome extension menu appears when clicking a page action

I have a Chrome Extension (page action). The extension is loaded in developer mode (not from the store).
The extension is used in two sites, both of which URLs are in the manifest.
When I go to one of the sites, the page icon is enabled and when I click it, it runs fine.
When I go to the other site, the extension icon is also enabled but when I click on the extension, instead of running the action, the extension menu appears (as if I had right-clicked the icon instead of clicked it).
When I hover the page action icon, in both sites I get the text "Has access to this site".
Which are possible causes for this behavior?
Something definitely changed with the manifest.json handling of the most recent Chrome update. (In my case, "Version 72.0.3626.96 (Official Build) (64-bit)" on Windows.) My extension stopped working in a way similar to what you describe.
The solution to my problem was to remove the specific url permissions I had specified in the "permissions" section, and replace them with <all_urls>. I tried tightening them back up again, but the only other thing that worked for me was https://*/*.
I tested this on several machines that had the previous version of Chrome and they had the same behavior... successful operation before the Chrome update, no response after. The icon displayed properly and showed "Has access to this site", but my background page refused to run.
Good luck! Hopefully this helps!

console.log() not working when I load my chrome extension

I am following the basics of creating a chrome extension
https://developer.chrome.com/extensions/getstarted
I placed a console.log() statement but it won't show up , should I be using some other API to log stuff on console?
No, you should be looking in the right place.
A background or event page's console and Dev Tools are accessible through the extension list in Developer mode - there will be a link under the extension listing.
Extra note: event page's unload will lose the logs for it.
A popup page's console and Dev Tools are accessible through right-clicking the action's button and selecting "Inspect popup".
A content script's console and Dev Tools are accessible through the normal Dev Tools for the page that the content script executes in.
Extra note: since a content script executes in a different context, you need to select that context above the console if you want to run commands in it, as opposed to the page itself.

is there any way to debug a chrome extension without setting a browser_action and a page_action?

I am learning to write chrome extensions. Sometimes ,i do want to learn from the examples given on the chrome developer site. As the instruction says, i need a browser_action or a page_action, then right click ,then inspect popup. I am wondering whether there is other ways to debug the chrome extension.
And the other thing is , i have to write "window.reload(true)" in the debug console to reload the popup page, is there a better or more convenient way to do it?
Of course it's not needed. Your extension either has a popup of some sorts, a background script of some sorts, or a content script of some sorts.
You already know how to debug a popup.
To debug a background page, you can go to chrome://extensions/ with Developer mode enabled. Then you'll see a "background page" link next to extensions that have them - you can click that link to bring up Dev Tools for the extension.
To debug a content script, you should look into the page's own Dev Tools. The console output will be displayed alongside normal console. To type code in the console to execute in the extension's context, you need to change the the context from <top frame> to the extension in the UI:
Depends on what you want to debug.
Chrome extensions also have background page and content-scripts.
Background page console you can find here: open chrome://extensions/ and under extension you'll see "Inspect views".
Content-scripts print messages to the page console.
Popup and other pages you can open in normal tab and inspect in its console. They are accessible by the url: "chrome-extension://YOUR_EXTENSION_ID/path/to/popup.html"

Why does Google Chrome sometimes auto-disable an extension and require the user to click a Reload link?

As shown in the image here:
Why would Chrome require a user to manually “Reload” an extension? The extension seems to be working for a while, then suddenly a user reports that it has stopped working and I have to instruct him/her to click the “Reload” link.
As an extension developer, I would like to be able to prevent this from happening. Here’s my extension in the Chrome Web Store.
Screenshot borrowed from a similar report from another developer.

Resources