https://github.com/danielnixon/link-fixer
Restores consistent ctrl+click, shift+click, cmd+click and middle-click behaviour when clicking links.
https://github.com/danielnixon/link-fixer
browser-extension chrome-extension firefox-extension web-extension
Last synced: about 1 month ago
JSON representation
Restores consistent ctrl+click, shift+click, cmd+click and middle-click behaviour when clicking links.
- Host: GitHub
- URL: https://github.com/danielnixon/link-fixer
- Owner: danielnixon
- License: mit
- Created: 2018-03-01T10:53:59.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-30T22:00:37.000Z (about 2 months ago)
- Last Synced: 2025-04-09T20:06:55.598Z (about 1 month ago)
- Topics: browser-extension, chrome-extension, firefox-extension, web-extension
- Language: JavaScript
- Homepage:
- Size: 1.42 MB
- Stars: 60
- Watchers: 4
- Forks: 8
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://addons.mozilla.org/en-US/firefox/addon/link-fixer/statistics/)
[](https://addons.mozilla.org/en-US/firefox/addon/link-fixer/statistics/)
[](https://addons.mozilla.org/en-US/firefox/addon/link-fixer/reviews/)
[](https://chrome.google.com/webstore/detail/link-fixer/mfgoieafikaldiglpkfgifoeigjcifmk)[](https://github.com/danielnixon/link-fixer/actions/workflows/node.js.yml)
[](https://github.com/plantain-00/type-coverage)
[](https://snyk.io/test/github/danielnixon/link-fixer?targetFile=package.json)# Link Fixer
The default behaviour of ctrl+click, shift+click, cmd+click (on macOS) and middle-click when clicking on links is to open the link in a new tab (or new window in the case of shift).
This behaviour is sometimes [broken by careless developers](https://superuser.com/questions/854797/why-does-ctrl-click-not-open-some-links-in-a-new-tab/).
This add-on restores the default behaviour, ensuring the modifier keys always cause links to open in a new tab (or window).
# Installation
* [Firefox](https://addons.mozilla.org/en-US/firefox/addon/link-fixer/)
* [Chrome](https://chrome.google.com/webstore/detail/link-fixer/mfgoieafikaldiglpkfgifoeigjcifmk)# A note on the plain JS
Mozilla's [add-on submission process requires submission of source code](https://extensionworkshop.com/documentation/publish/source-code-submission/). It's probably an overly strict interpretation of that requirement, but I took it to mean that something like TypeScript (that neverless produces mostly readable, unobfuscated output) would require source code upload and push an add-on into the slow approval lane.
You'll notice this repo doesn't have a *.ts file in sight, and yet achieves [a very high type coverage score](https://github.com/danielnixon/link-fixer/blob/master/package.json#L29-L33) courtesy of [JSDoc types](https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#type).
I took this as an opportunity to see how far I could push this given the no *.ts constraint.