Youtube share url si parameter remover.

Script for removing si parameter from share url.

  1. // ==UserScript==
  2. // @name Youtube share url si parameter remover.
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.8
  5. // @description Script for removing si parameter from share url.
  6. // @author m-pasik
  7. // @match https://www.youtube.com/*
  8. // @icon https://www.youtube.com/favicon.ico
  9. // @license GPL-3.0
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. const observer = new MutationObserver((mutationsList) => {
  17. const filtered =
  18. mutationsList
  19. .filter(x =>
  20. x.addedNodes[0] &&
  21. x.addedNodes[0].tagName == "YT-COPY-LINK-RENDERER")
  22. .map(x =>
  23. x.addedNodes[0]);
  24.  
  25. if (filtered.length) {
  26. const url_field = filtered[0].querySelector("input#share-url");
  27. let last_value = "";
  28. const update_url = () => {
  29. if (url_field.value != last_value) {
  30. const split = url_field.value.split(/[?&]/).filter(x => !x.includes('si='));
  31. url_field.value = split.length > 1 ?
  32. `${split[0]}?${split.slice(1).join('&')}` :
  33. split[0];
  34. last_value = url_field.value;
  35. }
  36. window.requestAnimationFrame(update_url);
  37. }
  38. window.requestAnimationFrame(update_url);
  39. }
  40. });
  41.  
  42. observer.observe(document.documentElement, {
  43. childList: true,
  44. subtree: true,
  45. });
  46.  
  47. })();