I want to add the parameter &vhs=1
at the end of each YouTube video URL on my browser. I have tried using the following script but it gets stuck in a loop (keeps adding &vhs=1
&vhs=1...
).
// ==UserScript==
// @name Youtube Tape Mode
// @namespace _pc
// @match *://*.youtube.com/watch?*
// @run-at document-start
// ==/UserScript==
var oldUrlPath = window.location.pathname;
/*--- Test that "&vhs=1" is at end of URL, excepting any "hashes"
or searches.
*/
if ( ! /\&vhs=1$/.test (oldUrlPath) ) {
var newURL = window.location.protocol + "//"
+ window.location.hostname
+ oldUrlPath
+ window.location.search.replace + "&vhs=1"
+ window.location.hash
;
/*-- replace() puts the good page in the history instead of the
bad page.
*/
window.location.replace (newURL);
}
Can anyone offer some insights and advice as to how I can write the script for this purpose? I can't seem to figure out how to get out of the infinite loop problem.