Last active
October 26, 2024 20:46
-
-
Save lbmaian/c53f48e04a3303d059c042f779a82604 to your computer and use it in GitHub Desktop.
YouTube - Redirect /shorts/ and /live/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name YouTube - Redirect /shorts/ and /live/ | |
// @namespace https://gist.github.com/lbmaian/c53f48e04a3303d059c042f779a82604 | |
// @downloadURL https://gist.github.com/lbmaian/c53f48e04a3303d059c042f779a82604/raw/youtube-redirect-shorts.user.js | |
// @updateURL https://gist.github.com/lbmaian/c53f48e04a3303d059c042f779a82604/raw/youtube-redirect-shorts.user.js | |
// @version 0.4 | |
// @description Redirects YouTube "/shorts/" and "/live/" URLs to "/watch?v=" URLs | |
// @author lbmaian | |
// @match https://*.youtube.com/* | |
// @grant window.onurlchange | |
// @icon https://www.youtube.com/favicon.ico | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
function onurlchange() { | |
let pathSegments = location.pathname.split('/', 3); | |
if (pathSegments[1] === 'shorts' || pathSegments[1] === 'live') { | |
let newSearch = location.search; | |
if (newSearch[0] === '?') { | |
newSearch = '&' + newSearch.substring(1); | |
} | |
let newHref = location.origin + '/watch?v=' + pathSegments[2] + newSearch + location.hash; | |
console.log("Redirecting %s to %s", location.href, newHref); | |
location.replace(newHref); | |
} | |
} | |
if (window.onurlchange === null) { // if onurlchange supported | |
window.addEventListener('urlchange', onurlchange); | |
} else { | |
window.setInterval(onurlchange, 500); | |
} | |
onurlchange(); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
0.4: fix bug where query params in the original URL (like
?t=123
) were effectively clobbered