-
-
Save lbmaian/c53f48e04a3303d059c042f779a82604 to your computer and use it in GitHub Desktop.
| // ==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(); | |
| })(); |
I thought about something like (though using MutationObserver instead), but I wanted to keep this userscript as lightweight as possible.
If you want a solution that also converts short links to watch links, try out https://github.com/YukisCoffee/yt-anti-shorts
Neat, thanks for the tip.
If using the Enhancer for YouTube extension, this is userscript is no longer useful with that extension's new "Convert Shorts" option
0.2: Updated to work on m.youtube.com as well
0.2.2: Add update URL and rename to "Redirect shorts" - this may require a uninstall+reinstall
0.3: Also redirect /live/ in addition to /shorts/ (and rename script accordingly)
edit: but keep update url the same: https://gist.github.com/lbmaian/c53f48e04a3303d059c042f779a82604/raw/youtube-redirect-shorts.user.js
0.4: fix bug where query params in the original URL (like ?t=123) were effectively clobbered
Maybe also try to update links before clicking them with something like.