Restore Youtube Embed Defaults

Removes special options from Youtube embeds, resetting everything to defaults. Useful for restoring disabled buttons like fullscreen and watch on Youtube.

  1. // ==UserScript==
  2. // @name Restore Youtube Embed Defaults
  3. // @description Removes special options from Youtube embeds, resetting everything to defaults. Useful for restoring disabled buttons like fullscreen and watch on Youtube.
  4. // @include *
  5. // @exclude *.youtube.com/*
  6. // @version 0.0.3
  7. // @namespace https://gf.qytechs.cn/users/910
  8. // ==/UserScript==
  9.  
  10. var i, j, k, index;
  11. var video_id, video_url, video_link;
  12.  
  13. var risky_elements, risky_attributes, risky_node;
  14. var risky_tags = ["object", "embed", "iframe"];
  15.  
  16. var bad_elements = [];
  17. var bad_ids = [];
  18.  
  19. for (i = 0; i < risky_tags.length; i++) {
  20. risky_elements = document.getElementsByTagName(risky_tags[i]);
  21. for (j = 0; j < risky_elements.length; j++) {
  22. index = 0;
  23. risky_attributes = risky_elements[j].attributes;
  24. for (k = 0; k < risky_attributes.length; k++) {
  25. risky_node = risky_attributes[k].nodeValue;
  26. if ((risky_node.indexOf("youtube.com") >= 0) || (risky_node.indexOf("ytimg.com") >= 0) || (risky_node.indexOf("youtube-nocookie.com") >= 0)) {
  27. risky_elements[j].style.display = "none";
  28. if (risky_node.indexOf("/v/") >= 0) {
  29. index = risky_node.indexOf("/v/") + 3;
  30. } else if (risky_node.indexOf("?v=") >= 0) {
  31. index = risky_node.indexOf("?v=") + 3;
  32. } else if (risky_node.indexOf("/embed/") >= 0) {
  33. index = risky_node.indexOf("/embed/") + 7;
  34. }
  35. if (index > 0) {
  36. video_id = risky_node.substring(index, index + 11);
  37. bad_elements.push(risky_elements[j]);
  38. bad_ids.push(video_id);
  39. }
  40. break;
  41. }
  42. }
  43. }
  44. }
  45.  
  46. for (i = 0; i < bad_ids.length; i++) {
  47. video_id = bad_ids[i];
  48. video_url = "//www.youtube.com/embed/" + video_id;
  49. video_link = document.createElement("iframe");
  50. video_link.setAttribute("src", video_url);
  51.  
  52. // Set the width, if present
  53. width = bad_elements[i].getAttribute("width");
  54. if ( width !== null ) {
  55. video_link.setAttribute("width", width);
  56. }
  57.  
  58. // Set the height, if present
  59. height = bad_elements[i].getAttribute("height");
  60. if ( height !== null ) {
  61. video_link.setAttribute("height", height);
  62. }
  63.  
  64. video_link.setAttribute("frameborder", "0");
  65. video_link.setAttribute("allowfullscreen", "1");
  66.  
  67. bad_elements[i].parentNode.replaceChild(video_link, bad_elements[i]);
  68. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址