webextension-polyfill
webextensions-examples
Our great sponsors
webextension-polyfill | webextensions-examples | |
---|---|---|
18 | 28 | |
2,512 | 3,928 | |
1.8% | 1.3% | |
1.3 | 5.9 | |
3 days ago | 20 days ago | |
JavaScript | JavaScript | |
Mozilla Public License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webextension-polyfill
-
Show HN: Chrome Reaper
Porting this extension to Firefox should be relatively straightforward using the webextension polyfill: https://github.com/mozilla/webextension-polyfill
-
Show HN: OpenAPI DevTools – Chrome ext. that generates an API spec as you browse
Firefox maintain a library for unified extension API https://github.com/mozilla/webextension-polyfill
Their type definition for HAR request isn't exported https://github.com/DefinitelyTyped/DefinitelyTyped/blob/mast...
-
Browser Extension with Blazor WASM - Cross-Browser Compatibility
The Browser Extension Working Group at W3.org proposes the web standards based on the Chrome extension manifest, which supports all web browsers. Based on that proposal, Mozilla has released the Browser Extension Polyfill library that supports the modern promise pattern instead of callback. Therefore, if you import this polyfill library, theoretically, your Chrome extension quickly turns into the browser extension that runs on multiple browser engines.
- Show HN: Plasmo – a framework for building modern Chrome extensions
-
It’s Like GPT-3 but for Code–Fun, Fast, and Full of Flaws
I've written extensions before and Firefox has a very good polyfill [0] that makes it quite easy to write extensions for all browsers. It does get a bit trickier if you also want to incorporate TypeScript [1] or React however.
-
Ask HN: Browser-extension creators, how do you write for multiple browsers?
I used WebExtension polyfill[0] when adapting my FF addon to Chrome and admittedly all the intricate differences between APIs still costed me half a day of work.
I managed to have it done with only a few places where I branch on navigator.vendor, but If I wanted to ship different versions to AMO and CWS, I'd make use of something like DefinePlugin[1] for webpack to include/exclude code based on build target.
[0] https://github.com/mozilla/webextension-polyfill/
[1] https://github.com/webpack/docs/wiki/list-of-plugins#definep...
-
Creating a browser extension for Safari and Chrome
Initially I created wrapper functions to convert Chrome functions that require callback to return promise instead. The better approach, as I found out later, is probably to use webextension-polyfill from Mozilla and its types.
-
Firefox Addons Unable to Update, Undisclosed AMO Issues
I mean, the browser apis are close (and Mozilla still has much better documentation) but there are a LOT of edges cases where behavior diverges.
Frankly - I'm a little peeved that Optional permissions in Firefox are STILL broken - The prompt can only be triggered in response to a user action, and Firefox blows the fuck up if you put a promise anywhere in between the user click and the call to the api. Which is hugely ironic, since Mozilla is the one pushing to move all the webext APIs to be promise based (and provides a nice helpful library for Chrome/Edge/Safari support: https://github.com/mozilla/webextension-polyfill) which... doesn't work on their platform. Doubly ironic, since the result is that most FF extensions just ask for more permissions up front, which is exactly the opposite of what you'd want in the "secure/private" world Mozilla claims they're pushing towards.
- How has your experience been building browser extensions?
- Manifest v3 Update
webextensions-examples
-
Browser extensions are underrated: the promise of hackable software
Check out Firefox examples on github, you’ll like it, I’ve had great experience learning from them to add nifty features to my browser:
-
Firefox: <input> picker was blocked due to lack of user activation when programmatically trying to open File Load dialog
I downloaded Content script registration repository from MDN webextensions-examples on GitHub.
-
When do you think X.org will become "officially" deprecated?
In some cases it does Banning a user doesn't magically make your bugs go away; Can't get response in Ubuntu #506.
-
I made a Light / Dark mode toggle button for Firefox, Toggley. Available on Mozilla Add-ons.
I believe there are already extensions for that. In fact, there's even one on the Mozilla Developer Network's GitHub called Theme Switcher which is essentially a dropdown menu with all of your themes.
-
I want to make a search engine extension. But I don't know how.
You dont need much. You can use this https://github.com/mdn/webextensions-examples/tree/master/discogs-search as a template
-
Executing shell scripts/command line without NODE
Yes it can, using Native Messaging https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging. See https://github.com/mdn/webextensions-examples/pull/157.
-
'The best thing we can do today to JavaScript is to retire it,' says JSON creator Douglas Crockford • DEVCLASS
This is MDN's version of a Python Native Messaging host, including Python 2x version https://github.com/mdn/webextensions-examples/pull/157.
-
Browser Extension
https://extensionworkshop.com/ is pretty firefox-centric, but it does have a porting guide for chromium-based browsers. Similarly there's a bunch of examples to explore on github from Mozilla and from Google.
-
Show HN: Avatars for HN threads in 368 bytes
Why not create your own web extension? It will take just a few lines of code, you can look at this example for reference[0] (also on Github[1]).
[0]: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
[1]: https://github.com/mdn/webextensions-examples/tree/master/bo...
-
string to const char* for popen()
I found WebExtension with Native messaging C++ App side where the C++ design is similar to the Python design in Fix native message examples with python3 #157 that I have been using capture_system_audio.py.
What are some alternatives?
esbuild-react-chrome-extension - Simple chrome extension with React and Typescript, bundled by esbuild
browser-extension-svelte - A simple cross-browser extension made with Svelte
uBlock-Safari - uBlock Origin - An efficient blocker for Chromium, Firefox, and Safari. Fast and lean.
plasmo - 🧩 The Browser Extension Framework
webext-redux - A set of utilities for building Redux applications in Web Extensions.
browser-ext-react-esbuild - Browser extension implemented in TypeScript & React and built by esbuild for Chrome, Safari and possibly Mozilla Firefox
testing-playground - Simple and complete DOM testing playground that encourage good testing practices.
web-ext - A command line tool to help build, run, and test web extensions
google-meet-push-to-talk - Chrome extension that enables push-to-talk for Google Meet
template - Template for building basic applications with Svelte
sveltekit-adapter-browser-extension - Build browser extensions with Svelte (early prototype)
examples - 🔰 Example projects that demonstrate how to use the Plasmo Framework and integrate with popular tools