Youtube share url si parameter remover.

Script for removing si parameter from share url.

当前为 2024-04-25 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Youtube share url si parameter remover.
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.4
  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. (function() {
  13. 'use strict';
  14. const observer = new MutationObserver((mutationsList) => {
  15. const filtered =
  16. mutationsList
  17. .filter(x =>
  18. x.addedNodes[0] &&
  19. x.addedNodes[0].tagName == "YT-COPY-LINK-RENDERER")
  20. .map(x =>
  21. x.addedNodes[0]);
  22. if (filtered.length) {
  23. const url_field = filtered[0].querySelector("input#share-url");
  24. const split = url_field.value.split(/[?&]/);
  25. url_field.value = `${split[0]}?${split.slice(1,-1).join('&')}`;
  26. let last_value = url_field.value;
  27. const update_url = () => {
  28. if (url_field.value != last_value) {
  29. const split = url_field.value.split(/[?&]/);
  30. url_field.value = `${split[0]}?${split.slice(1,-1).join('&')}`;
  31. last_value = url_field.value;
  32. }
  33. window.requestAnimationFrame(update_url);
  34. }
  35. window.requestAnimationFrame(update_url);
  36. observer.disconnect();
  37. }
  38. });
  39. observer.observe(document.documentElement, {
  40. childList: true,
  41. subtree: true,
  42. });
  43. })();