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.

当前为 2014-08-28 提交的版本,查看 最新版本

  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. // @exclude *.youtube.com/*
  5. // @version 0.0.2
  6. // @namespace https://gf.qytechs.cn/users/910
  7. // ==/UserScript==
  8.  
  9. var i, j, k, index;
  10. var video_id, video_url, video_link;
  11.  
  12. var risky_elements, risky_attributes, risky_node;
  13. var risky_tags = ["object", "embed", "iframe"];
  14.  
  15. var bad_elements = [];
  16. var bad_ids = [];
  17.  
  18. for (i = 0; i < risky_tags.length; i++) {
  19. risky_elements = document.getElementsByTagName(risky_tags[i]);
  20. for (j = 0; j < risky_elements.length; j++) {
  21. index = 0;
  22. risky_attributes = risky_elements[j].attributes;
  23. for (k = 0; k < risky_attributes.length; k++) {
  24. risky_node = risky_attributes[k].nodeValue;
  25. if ((risky_node.indexOf("youtube.com") >= 0) || (risky_node.indexOf("ytimg.com") >= 0) || (risky_node.indexOf("youtube-nocookie.com") >= 0)) {
  26. risky_elements[j].style.display = "none";
  27. if (risky_node.indexOf("/v/") >= 0) {
  28. index = risky_node.indexOf("/v/") + 3;
  29. } else if (risky_node.indexOf("?v=") >= 0) {
  30. index = risky_node.indexOf("?v=") + 3;
  31. } else if (risky_node.indexOf("/embed/") >= 0) {
  32. index = risky_node.indexOf("/embed/") + 7;
  33. }
  34. if (index > 0) {
  35. video_id = risky_node.substring(index, index + 11);
  36. bad_elements.push(risky_elements[j]);
  37. bad_ids.push(video_id);
  38. }
  39. break;
  40. }
  41. }
  42. }
  43. }
  44.  
  45. for (i = 0; i < bad_ids.length; i++) {
  46. video_id = bad_ids[i];
  47. video_url = "//www.youtube.com/embed/" + video_id;
  48. video_link = document.createElement("iframe");
  49. video_link.setAttribute("src", video_url);
  50. // Set the width, if present
  51. width = bad_elements[i].getAttribute("width");
  52. if ( width !== null ) {
  53. video_link.setAttribute("width", width);
  54. }
  55. // Set the height, if present
  56. height = bad_elements[i].getAttribute("height");
  57. if ( height !== null ) {
  58. video_link.setAttribute("height", height);
  59. }
  60. video_link.setAttribute("frameborder", "0");
  61. video_link.setAttribute("allowfullscreen", "1");
  62. bad_elements[i].parentNode.replaceChild(video_link, bad_elements[i]);
  63. }

QingJ © 2025

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