By: Carlin
Inspect and view changes in Media Keys source codes across current and past versions
Please login to examine the extension's source code.
manifest.json
{
"manifest_version": 2,
"short_name": "Media Keys",
"name": "Media Keys",
"version": "2.5.2",
"author": "Carlin Scott",
"homepage_url": "https://github.com/carlin-q-scott/browser-media-players",
"description": "Lets you control many popular website media players using media key events",
"icons": {
"64": "icon64.png",
"128": "icon128.png"
},
"browser_specific_settings": {
"gecko": {
"id": "jid1-4GP7z3tkUd3Tzg@jetpack",
"strict_min_version": "60.0"
}
},
"background": {
"page": "index.html"
},
"commands": {
"MediaPlayPause": {
"description": "toggles play state of the last active media website",
"suggested_key": {
"default": "MediaPlayPause"
},
"global": true
},
"MediaNextTrack": {
"description": "plays the next track for the last active media website",
"suggested_key": {
"default": "MediaNextTrack"
},
"global": true
},
"MediaPrevTrack": {
"description": "plays the previous track for the last active media website",
"suggested_key": {
"default": "MediaPrevTrack"
},
"global": true
},
"MediaStop": {
"description": "stops playback of the last active media website",
"suggested_key": {
"default": "MediaStop"
},
"global": true
}
},
"options_ui": {
"page": "options/options_ui.html",
"browser_style": false,
"chrome_style": false,
"open_in_tab": false
},
"permissions": [
"storage"
],
"optional_permissions": [
"*://*/"
],
"content_scripts": [
{
"matches": [
"*://*.youtube.com/*"
//,"file:///*/tests/youtube.com.html"
],
"js": [
"lib/browser-polyfill.min.js",
"data/youtube.com-orchestrator.js"
],
"all_frames": true
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/pandora.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.pandora.com/*"
//,"file:///*/tests/pandora.com.html"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/tidal.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.tidal.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/music.apple.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.music.apple.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/bandcamp.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.bandcamp.com/*",
"*://shop.attackthemusic.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/play.google.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.play.google.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/play.spotify.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.play.spotify.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/player.spotify.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.player.spotify.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/open.spotify.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.open.spotify.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/soundcloud.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://soundcloud.com/*"
]
},
{
"matches": [
"https://w.soundcloud.com/player/*"
],
"all_frames": true,
"js": [
"lib/browser-polyfill.min.js",
"data/w.soundcloud.com-orchestrator.js"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/stitcher.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://app.stitcher.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/music.yandex.ru-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.music.yandex.ru/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/vk.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.vk.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/radio.yandex.ru-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.radio.yandex.ru/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/deezer.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.deezer.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/overcast.fm-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.overcast.fm/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/plex.tv-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.plex.tv/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/pluralsight.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.app.pluralsight.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/jamstash-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.jamstash.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/jango.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.jango.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/kanopy-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.kanopy.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/koel-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.koel.phanan.net/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/subsonic-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.demo.subsonic.org/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/madsonic-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.demo.madsonic.org/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/music.amazon-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.music.amazon.com/*",
"*://*.music.amazon.de/*",
"*://*.music.amazon.co.uk/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/cbcmusic.ca-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.cbcmusic.ca/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/mixcloud.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.mixcloud.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/hulu.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.hulu.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/hypem.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.hypem.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/netflix.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.netflix.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/npr.org-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.npr.org/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/tunein.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.tunein.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/play.pocketcasts.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://play.pocketcasts.com/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/di.fm-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.di.fm/*"
]
},
{
"js": [
"lib/browser-polyfill.min.js",
"data/udemy.com-view.js",
"data/finder.js",
"data/orchestrator.js"
],
"matches": [
"*://*.udemy.com/*"
]
}
],
"web_accessible_resources": [
"data/youtube.com-orchestrator-pageScript.js"
]
}
Best Media Keys Alternatives
Here are some Firefox add-ons that are similar to Media Keys:
Keyboard Media Controls
Zoe Hart
Universal Media Controller
Barry Hayes
Media Key Manager
Rosalinda
Multi-Platform Media Keys
Herbert Gaines
Global-media-controller
Rohit ANand
Mpris integration
Jas
Easy Control
Adam Nickle
Better Media Keys for YouTube
TroyWare
Streaming Keyboard Controls
Aysha Quinn
Play and List
zoulraX
Media Center
jojojo
Global Music Hotkeys
phuonglih