Can we add gif in icon of chrome extension? - google-chrome-extension

When request is sent to API to load some data, can we add some loading gif as icon ?
Something like this:
chrome.browserAction.setIcon({
path : "../img/loading.gif"
});

Related

neutralinojs - how to load browser extension when starting chrome mode?

I have a web page and custom extension that goes with it. The extension is a normal browser extension - not a neutralinojs extension. I can load my extension from the command line (without neutrinojs) with chrome and msedge using the --load-extension=<path-to-extension> option. Extension and page work fine.
I'm having difficulty figuring out how to achieve the same thing with neutralinojs.
I've tried passing the option via the neutralino.config.json config file [example below] and starting the page with neu run. The page loads, but the extension isn't loaded. Near the top of the JSON file, I specify "chrome" as the mode. I'm certain it is starting chrome.
"chrome": {
"width": 500,
"height": 700,
"args": "--load-extension=C:\\project\\my-extension",
"nativeBlockList": [
"filesystem.*",
"os.*"
]
}
I also tried a more direct approach with neutralino-win_x64.exe --chrome-args="--load-extension=C:\project\my-extension". It seems the JSON file isn't read in when I try it this way, and it's not clear to me how to format the other options that need to be passed to it.
How should I go about getting my custom extension loaded when starting in chrome mode? And could I also get neutralinojs to start with msedge instead of chrome with additional chrome options passed to it.

Issue with javascript in Chrome window created by extension

I have a Chrome extension that creates a new Chrome window and loads a URL in the newly created window.
This works as expected, but the URL that is being loaded in the new window is seeing errors that prevent the Javascript on the page from executing. The same URL works without any errors when loaded in a Chrome window created manually.
I have tried loading the URL in a regular Chrome window and in a Chrome window created programmatically by my Chrome extension. I have also removed ALL other functionality from the Chrome extension to verify that our Chrome extension does not have any other impact.
Here is how I'm creating the new window and loading the URL:
chrome.windows.create({
url: 'https://...',
type: 'normal',
top: 0,
left: 0,
width: window.screen.width || 1000,
height: window.screen.height || 600
}, function(newWindow) {
The URL should load exactly the same whether manually by pasting the URL in a Chrome window created by going to File > New Window and those created programmatically via a Chrome extension.
What is the difference between the Chrome windows created by going to File > New Window and those created programmatically via a Chrome extension? What might cause the URL to load or execute Javascript differently in windows created by the Chrome extension?

How to debug chrome extension with DevTools or other debugger?

Is there any way to debug chrome extension using debugger ( break points and step in/out)
beside console.log ?
Chrome 70.x debugging of chrome background scripts is broken, especially when you dynamically load them and they are not in the manifest. Have a ticket open to get it fixed; however they have not been very helpful; however found a work around...
Put a console.log("yourvariablenamehere") in your background.js script.
Hit F12 to open the dev tools, anchored to the bottom of the web page.
Load the background script via a button in your popup.html. Something like this from a button event...
var guid = CreateGuid();
chrome.tabs.executeScript(null, { file: "script/jquery-3.3.1.js" }, function () {
$.get("script/scrollPage.js?ver=" + guid, function (sScriptBody, textStatus, jsXHR) {
chrome.tabs.executeScript(null, { code: sScriptBody });
}, "text");
});
In the dev tools console you should see your logged variable. On the same line as the logged message is a VM with a number tacked onto it, a virtual script page. Select that VM page and then you get to the background script! Now put a breakpoint in the virtual script page, click the same button in your popup.html and it gets hit. And when you reload the popup and execute the background script that breakpoint is hit!
Hope this helps.
If you want to inspecting content scripts, a great method I found is using Console by selecting your extension in javascript context:
By selecting the extension you will have access to the global objects within that extension.
Reference:
Using the Developer tools to debug your extension

Chrome extension : how to detect click in background process?

I am devlopping a google chrome extension
I have a background process and a popup window.
I want to not use the popup window any more, but instead open a web browser window when chrome extension button is clicked:
How do I do that : How do I detect the click inside background.js ?
This is quite easy
chrome.browserAction.onClicked.addListener(function(tab) {
// The action icon has been clicked
});
You'll have to declare the extension as a browser action in your manifest and remove the popup option

What is wrong with this chrome extension?

I have downloaded this chrome extension https://github.com/jeffreyiacono/penalty-blox
When I load it via load unpacked extension it gives me this error
1.manifest_version key must be present and set to 2
I solved it via adding manifest_version in manifest.json
2.After this when I reload it,The icon is coming but when I click on it nothing is working(looks like background.html is not working)
What changes should I do so that it workes perfectly?

Resources