I am working with firefox extensions. I want an option of enabling other extension in the options dialog box. this will depend on users choice.
Like for doing some work there are 3 extensions user has. I would like my extension to have an option of asking user which extension outta the three he wants to enable.
I guess all my extension would need to know is the preference settings of others.
Take a look at the following links.
https://developer.mozilla.org/en/Toolkit_API/FUEL
https://developer.mozilla.org/en/Toolkit_API/extIExtensions
https://developer.mozilla.org/en/Toolkit_API/extIExtension
Related
I am developing an extension using the Addon-SDK. I want to show a preference page in order to get some users' configuration.
simple-prefs is too simple to use as its supported data type is so limited.
In a XUL app, I can use the following
<em:optionsType>3</em:optionsType>
<em:optionsURL>chrome://myaddon/content/options.html</em:optionsURL>
to set my preference page.
I found
the XUL migration guide
which says:
This is provided only as a migration aid, and it's still a good idea to port XUL windows to HTML.
How then can I make an HTML preference page ?
Many thanks!
I solved it in the following way:
Use simple-prefs with the preference type set to control. On its click event, open a page using the tab module, then use simple-storage to store data.
That's it!
I created browser extension using crossrider code, we can install this extension in all 4 browsers(Chrome,IE,Firefox,Safari).After installation a icon will be displayed beside the url. If we click on that icon a popup will displayed which contains one button
1)delete/uninstall
so, what I have to do is If user click on "uninstall/delete" button then the extension will remove from the browser.How can I achieve this functionality using crossrider code.
To the best of my knowledge, extension removal by the extension itself is not supported by any browser regardless of which platform the extension is written with. So whilst the Crossrider platform tries to provide as much common functionality as possible, I'm afraid this feature is not available.
[Disclosure: I am a Crossrider employee]
Chrome extensions can remove themselves using chrome.management.uninstallSelf. This does not require any permissions.
Firefox add-ons are trusted at the same level as the browser, so it is technically possible to remove the add-on. I don't know the API from the top of my head, but you could look at the source code of the Addon Manager for inspiration.
Internet Explorer extensions are binary code. Depending on how they're implemented, they might be able to uninstall themself. If you've written a basic BHO that runs in Internet Explorer's (low-integrity) process, then you cannot fully uninstall the extension, because it cannot write to the registry, or remove files from C:\Program Files.
Safari: Extensions don't have any method to remove themselves.
I know it is possible to change the default download directory, etc. by passing in a hash of options to Google or Firefox or, here, Internet Explorer.
Is there a way to launch IE in compatibility mode by default?
If you use the watir gem, you will find that it offers a class Watir::IE.
The Watir::IE class provides a set_options(options) method, which will allow you to specify the options to be used when creating a new Watir::IE instance.
I don't have a handle on the exact options to pass, buit I will continue to research. If I find it, I will edit this answer. If someone else knows, hopefully, they will edit this answer with the details.
I'd like to be able to add an option to the download dialog that pops-up in Firefox when starting a file download. Is it possible to do so using the new add-on SDK or do I have to do it the old way?
edit: Obviously, if the new option is selected, I need a way to know it and execute code based on it.
That's something you would use XUL overlays for. I guess that the dialog you are talking about is chrome://mozapps/content/downloads/downloads.xul - the download manager. AFAIK doing this isn't possible with the Add-on SDK, it only provides the most common UI integration points. You could create a traditional extension however, it can overlay any dialog.
There is no existing module that will help you that I know of, so you would have to create one, or wait for one to be made by someone else. But the main idea to extending browser UI is simple, and goes like this:
When the addon is loaded, scan for open windows of the type that you wish to extend.
extend the open windows by adding xul elements and javascript to the page.
listen for newly opened windows, and test that they are the type that you are looking for once they open
extend newly opened windows while your addon is active
Clean up after yourself when windows close or when your addon is disabled/uninstalled.
The last step is the most important and never matter with old school extensions which were not restartless.
Some for the built-in modules that you can look at that do this are the widget module, the context menu module, and the hotkeys module, all of which you can find here.
I've made a couple myself which are the toolbar button module, the xulkeys module, the menuitems module, and a few others, all of which you can find here.
Recently I wrote an extension do the same things. A bootstrap extension, not using addon-sdk.
I already submit it on AMO, but wait for review
https://addons.mozilla.org/en-US/firefox/addon/download-dialog-tweak/
And the source code
https://github.com/muzuiget/download_dialog_tweak
During web development work, I need to be able to quickly switch various config settings in Firefox. In particular I need to be able to:
1) Switch off cookies
2) Switch off javascript
3) Switch my user agent (I have the user-agent switcher add-on installed)
and then back again.
Instead of doing this manually, it would be great if i could add a "macro" button to my toolbar that I could simply click to toggle the three settings above.
Anyone know if this is possible?
Btw - Firefox Profiles doesn't really cut it. You can't dynamically switch profiles within a specific Firefox instance, which I need to be able to do.
Btw2 - I got excited when i saw Greasemonkey, Chicken Foot, but it looks like these can only automate browsing/DOM tasks, and not with firefox configuration settings.
Thanks Richard.
Because of your requirements, it'd probably best for you to make a simple add-on yourself. You could even have it add a button that goes back and forth between things.
You can disable cookies by setting the preference "network.cookie.cookieBehavior" to 2, you can turn off JavaScript by setting the preference "javascript.enabled" to false, and you can modify the user agent by changing the preference "general.useragent.extra.firefox".
To do these things, you'll need to use the preference API, which is documented here.
There are other add-ons that I think will get all the functionality you're looking for (albeit, not all in one tool).
https://addons.mozilla.org/en-US/firefox/addon/2497
https://addons.mozilla.org/en-US/firefox/addon/6527
https://addons.mozilla.org/en-US/firefox/addon/59
If you wanted to extend the functionality of any of these Add-ons, XPI files are just .zip files with a different extension. You can rename them and unpack them and find out how they do what they do, extending them, install your own customized version, etc.
The web-developer toolbar will do all the things you requested except switching the user-agent string, which can be accomplished through the UA switcher addon you already use. However it can't be macroed as far as I know, but it can be accomplished with a few mouse click.
Try iMacros.
From their site:
"Whatever you do with Firefox, iMacros can automate it."