YouTube Download

On youtube click the download link to download youtube video.

当前为 2015-12-06 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name YouTube Download
  3. // @namespace http://your.homepage/
  4. // @version 4.4.9
  5. // @description On youtube click the download link to download youtube video.
  6. // @author Henry Harris
  7. // @match https://www.youtube.com/*
  8. // @match http://9xbuddy.com/*
  9. // @grant none
  10. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
  11. // @run-at document-end
  12. // ==/UserScript==
  13.  
  14.  
  15.  
  16.  
  17.  
  18. $(document).ready ( function(){
  19. // -----------------------Runs on YOUTUBE--------------------------------------------------------------
  20. var beforestop = false;
  21. var ThumbPRun = 0;
  22. var ThumbCurUrl;
  23. var WasPlaying;
  24. setInterval(function(){
  25. if(window.location.href.indexOf("you") > -1) {
  26. if ($('#watch7-headline').length > 0) {
  27. if ($('#downloadlnk').length > 0) {
  28. } else {
  29. if ($('.html5-player-chrome').length > 0) {
  30. if ($('#vidctrls').length > 0) {
  31. } else{
  32. document.querySelector('div.html5-player-chrome').id = 'vidctrls';
  33.  
  34. var c = document.createElement('img');
  35. c.src = "http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Egypt_governorates_blank.png/597px-Egypt_governorates_blank.png";
  36. c.height = "30";
  37. c.width = "10";
  38. var b = document.createElement('img');
  39. b.src = "http://images.clipartpanda.com/square-clip-art-black-and-white-0999d59a768fa638a6f16f4a44299e29.png";
  40. b.height = "30";
  41. b.width = "30";
  42. b.title = "Download this video";
  43. b.onclick = function () {
  44. window.open("http://9xbuddy.com/download?url=" + document.URL)
  45. };
  46.  
  47. document.getElementById("vidctrls").appendChild(c);
  48. document.getElementById("vidctrls").appendChild(b);
  49. }
  50. } else {
  51. var downdiv = document.createElement("div");
  52. downdiv.id = "downdiv";
  53. var a = document.createElement('a');
  54. var linkText = document.createTextNode("Download");
  55. a.appendChild(linkText);
  56. a.id = "downloadlnk";
  57. a.title = "Download this video";
  58. a.onclick = function () {
  59. window.open("http://9xbuddy.com/download?url=" + document.URL)
  60. };
  61. var br3 = document.createElement('br');
  62. document.getElementById("watch7-headline").appendChild(br3);
  63. var br4 = document.createElement('br');
  64. document.getElementById("watch7-headline").appendChild(br4);
  65. var setimg = document.createElement('img');
  66. setimg.width = 27;
  67. setimg.length = 27;
  68. setimg.src = "https://qph.is.quoracdn.net/main-qimg-8237596d1a16264adb1900d01ea71f0a";
  69. var dwnimg = document.createElement('img');
  70. dwnimg.width = 27;
  71. dwnimg.length = 27;
  72. dwnimg.src = "http://www.clipartbest.com/cliparts/bTy/EX8/bTyEX8prc.png";
  73. var d = document.createElement('a');
  74. var linkText = document.createTextNode("Options");
  75. d.appendChild(linkText);
  76. d.id = "optionlnk";
  77. d.title = "Options";
  78. d.onclick = function () {
  79. var e = document.body;
  80. e.parentNode.removeChild(e);
  81. var body = document.createElement('body');
  82. document.getElementsByTagName('html')[0].appendChild(body);
  83. var chk1 = document.createElement('input');
  84. chk1.type = "checkbox";
  85. chk1.id = "chk1"
  86. document.getElementsByTagName('body')[0].appendChild(chk1);
  87. var label1 = document.createElement('label');
  88. //labe1l.htmlFor = "chk1";
  89. label1.appendChild(document.createTextNode('Auto HD + remove video ads'));
  90. document.getElementsByTagName('body')[0].appendChild(label1);
  91. var br = document.createElement('br');
  92. document.getElementsByTagName('body')[0].appendChild(br);
  93. var chk2 = document.createElement('input');
  94. chk2.type = "checkbox";
  95. chk2.id = "chk2"
  96. document.getElementsByTagName('body')[0].appendChild(chk2);
  97. var label2 = document.createElement('label');
  98. //labe12.htmlFor = "chk2";
  99. label2.appendChild(document.createTextNode('Loop videos'));
  100. document.getElementsByTagName('body')[0].appendChild(label2);
  101. var br4 = document.createElement('br');
  102. document.getElementsByTagName('body')[0].appendChild(br4);
  103. var chk3 = document.createElement('input');
  104. chk3.type = "checkbox";
  105. chk3.id = "chk2"
  106. document.getElementsByTagName('body')[0].appendChild(chk3);
  107. var label3 = document.createElement('label');
  108. //labe13.htmlFor = "chk2";
  109. label3.appendChild(document.createTextNode('Old Player'));
  110. document.getElementsByTagName('body')[0].appendChild(label3);
  111. var br5 = document.createElement('br');
  112. document.getElementsByTagName('body')[0].appendChild(br5);
  113. var chk4 = document.createElement('input');
  114. chk4.type = "checkbox";
  115. chk4.id = "chk4"
  116. document.getElementsByTagName('body')[0].appendChild(chk4);
  117. var label4 = document.createElement('label');
  118. //labe1l.htmlFor = "chk1";
  119. label4.appendChild(document.createTextNode('Auto-Buffer'));
  120. document.getElementsByTagName('body')[0].appendChild(label4);
  121. var br3 = document.createElement('br');
  122. document.getElementsByTagName('body')[0].appendChild(br3);
  123. var chk5 = document.createElement('input');
  124. chk5.type = "checkbox";
  125. chk5.id = "chk2"
  126. document.getElementsByTagName('body')[0].appendChild(chk5);
  127. var label5 = document.createElement('label');
  128. //labe13.htmlFor = "chk2";
  129. label5.appendChild(document.createTextNode('Thumbnail Previews (hover over thumbnails)'));
  130. document.getElementsByTagName('body')[0].appendChild(label5);
  131. var br6 = document.createElement('br');
  132. document.getElementsByTagName('body')[0].appendChild(br6);
  133. var br2 = document.createElement('br');
  134. document.getElementsByTagName('body')[0].appendChild(br2);
  135. var appbtn = document.createElement('input');
  136. appbtn.type = "button";
  137. appbtn.value = "Apply"
  138. appbtn.onclick = function () {
  139. if (chk1.checked == true) {
  140. document.cookie =
  141. 'autohd=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'
  142. } else {
  143. document.cookie = 'autohd=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'
  144. }
  145. if (chk2.checked == true) {
  146. document.cookie =
  147. 'loop=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'
  148. } else {
  149. document.cookie = 'loop=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'
  150. }
  151. if (chk3.checked == true) {
  152. document.cookie =
  153. 'oldplyr=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'
  154. } else {
  155. document.cookie = 'oldplyr=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'
  156. }
  157. if (chk3.checked == true && chk1.checked == true) {
  158. alert("Auto-HD and Old Player are incompatible, please disable one of them.");
  159. } else {
  160. location.reload();
  161. }
  162. if (chk4.checked == true) {
  163. document.cookie =
  164. 'abuff=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'
  165. } else {
  166. document.cookie = 'abuff=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'
  167. }
  168. if (chk5.checked == true) {
  169. document.cookie =
  170. 'ThumbP=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'
  171. } else {
  172. document.cookie = 'ThumbP=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'
  173. }
  174. }
  175. document.getElementsByTagName('body')[0].appendChild(appbtn);
  176. if (document.cookie.indexOf('autohd=')== -1) {
  177. chk1.checked = false;
  178. } else {
  179. chk1.checked = true;
  180. }
  181. if (document.cookie.indexOf('loop=')== -1) {
  182. chk2.checked = false;
  183. } else {
  184. chk2.checked = true;
  185. }
  186. if (document.cookie.indexOf('oldplyr=')== -1) {
  187. chk3.checked = false;
  188. } else {
  189. chk3.checked = true;
  190. }
  191. if (document.cookie.indexOf('abuff=')== -1) {
  192. chk4.checked = false;
  193. } else {
  194. chk4.checked = true;
  195. }
  196. if (document.cookie.indexOf('ThumbP=')== -1) {
  197. chk5.checked = false;
  198. } else {
  199. chk5.checked = true;
  200. }
  201. };
  202. //document.body.appendChild(a);
  203. document.getElementById("watch7-headline").appendChild(downdiv);
  204. document.getElementById("downdiv").appendChild(dwnimg);
  205. document.getElementById("downdiv").appendChild(a);
  206. document.getElementById("downdiv").appendChild(br3);
  207. document.getElementById("downdiv").appendChild(br4);
  208. document.getElementById("downdiv").appendChild(setimg);
  209. document.getElementById("downdiv").appendChild(d);
  210. document.getElementById("downloadlnk").style.fontSize = "x-large";
  211. document.getElementById("optionlnk").style.fontSize = "x-large";
  212. var br1 = document.createElement('br');
  213. document.getElementById("watch7-headline").appendChild(br1);
  214. var br2 = document.createElement('br');
  215. document.getElementById("watch7-headline").appendChild(br2);
  216. }
  217. }
  218. }
  219. }
  220.  
  221. if (document.cookie.indexOf('autohd=')== -1) {
  222. //no cookie
  223. } else {
  224. if (beforestop == false) {
  225. var myNode = document.getElementById("movie_player");
  226. while (myNode.firstChild) {
  227. myNode.removeChild(myNode.firstChild);
  228. beforestop = true;
  229. }
  230.  
  231. var url = document.URL;
  232. url = url.substring(0, url.length - 8);
  233. var vidid = url.substring(url.indexOf('=')+1);
  234. var player = document.createElement('iframe');
  235. player.id = "player1";
  236. player.width = "1920";
  237. player.height = "1080";
  238. player.src = "https://www.youtube.com/embed/" + vidid + "?rel=0&autoplay=1&VQ=HD720";
  239. player.frameborder = "0";
  240. document.getElementById("movie_player").appendChild(player);
  241. document.getElementById("player1").setAttribute("allowfullscreen", "true");
  242. setTimeout(function(){
  243. document.getElementById("player1").width = "855";
  244. document.getElementById("player1").height = "480";
  245. }, 15000);
  246. }
  247. var url = document.URL;
  248. var idtest = url.substring(url.indexOf('=')+1);
  249. if (idtest === vidid){
  250. } else {
  251. }
  252. }
  253. if (document.cookie.indexOf('oldplyr=')== -1) {
  254. //no cookie
  255. } else {
  256. if (beforestop == false) {
  257. var myNode = document.getElementById("movie_player");
  258. while (myNode.firstChild) {
  259. myNode.removeChild(myNode.firstChild);
  260. beforestop = true;
  261. }
  262.  
  263. var url = document.URL;
  264. url = url.substring(0, url.length - 8);
  265. var vidid = url.substring(url.indexOf('=')+1);
  266. var player = document.createElement('iframe');
  267. player.id = "player1";
  268. player.width = "855";
  269. player.height = "480";
  270. player.src = "https://youtube.googleapis.com/v/" + vidid + "?version=3&autoplay=1";
  271. player.frameborder = "0";
  272. document.getElementById("movie_player").appendChild(player);
  273. document.getElementById("player1").setAttribute("allowfullscreen", "true");
  274. }
  275. var url = document.URL;
  276. var idtest = url.substring(url.indexOf('=')+1);
  277. if (idtest === vidid){
  278. } else {
  279. }
  280. }
  281. }, 2000);
  282. setInterval(function(){
  283. if (document.cookie.indexOf('oldplyr=')== -1) {
  284. } else {
  285. if(window.location.href.indexOf("you") > -1) {
  286. if(window.location.href.indexOf("embed") > -1) {
  287. } else {
  288. if(window.location.href.indexOf("reldone") > -1) {
  289. } else {
  290. window.location.assign(document.URL + "#reldone");
  291. location.reload();
  292. }
  293. }
  294. }
  295. }
  296. }, 4000);
  297. setInterval(function(){
  298. if (document.cookie.indexOf('autohd=')== -1) {
  299. } else {
  300. if(window.location.href.indexOf("you") > -1) {
  301. if(window.location.href.indexOf("embed") > -1) {
  302. } else {
  303. if(window.location.href.indexOf("reldone") > -1) {
  304. } else {
  305. window.location.assign(document.URL + "#reldone");
  306. location.reload();
  307. }
  308. }
  309. }
  310. }
  311. }, 4000);
  312. //ThumbP Code
  313. setInterval(function(){
  314. if (document.cookie.indexOf('ThumbP=')== -1) {
  315. } else {
  316. if(window.location.href.indexOf("you") > -1) {
  317. if(window.location.href.indexOf("watch") > -1) { //video pages
  318. if (document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related").length == ThumbPRun) {
  319. } else {
  320. var vwidth = document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].children[0].width;
  321. var vheight = document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].childNodes[0].height;
  322. //document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].removeChild(document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0]); -delete thumbnail image (old)
  323. var Tvid = document.createElement("iframe");
  324. Tvid.src = "https://www.youtube.com/embed/" + document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].parentNode.href.split('=')[1] + "?controls=0&iv_load_policy=3&autoplay=1&showinfo=0&vq=small#ThumbP";
  325. Tvid.width = vwidth;
  326. Tvid.height = vheight;
  327. Tvid.style.display = "none";
  328. document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].appendChild(Tvid);
  329. document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].onmouseout=function(){
  330. this.children[0].style.display = "inline";
  331. this.children[1].style.display = "none";
  332. if (WasPlaying === true) {
  333. document.getElementsByClassName("video-stream html5-main-video")[0].play();
  334. WasPlaying = false;
  335. }
  336. };
  337. document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].onmouseover=function(){
  338. this.children[0].style.display = "none";
  339. this.children[1].style.display = "inline";
  340. if (document.getElementsByClassName("video-stream html5-main-video")[0].paused === false) {
  341. WasPlaying = true;
  342. document.getElementsByClassName("video-stream html5-main-video")[0].pause();
  343. }
  344. };
  345. ThumbPRun = ThumbPRun + 1
  346. }
  347. } else { // other pages
  348. if (document.getElementsByClassName("yt-thumb-simple").length == ThumbPRun) {
  349. } else {
  350. var vwidth = document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0].width;
  351. var vheight = document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].childNodes[0].height;
  352. //document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].removeChild(document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0]); -delete thumbnail image (old)
  353. var Tvid = document.createElement("iframe");
  354. Tvid.src = "https://www.youtube.com/embed/" + document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].parentNode.parentNode.href.split('=')[1] + "?controls=0&iv_load_policy=3&autoplay=1&showinfo=0&vq=small#ThumbP";
  355. Tvid.width = vwidth;
  356. Tvid.height = vheight;
  357. Tvid.style.display = "none";
  358. document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].appendChild(Tvid);
  359. document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].onmouseout=function(){
  360. this.children[0].style.display = "inline";
  361. this.children[1].style.display = "none";
  362. };
  363. document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].onmouseover=function(){
  364. this.children[0].style.display = "none";
  365. this.children[1].style.display = "inline";
  366. };
  367. ThumbPRun = ThumbPRun + 1
  368. }
  369. }
  370. }
  371. }
  372. }, 500);
  373. setInterval(function(){
  374. if (document.cookie.indexOf('ThumbP=')== -1) {
  375. } else {
  376. if(window.location.href.indexOf("embed") > -1) {
  377. } else {
  378. if (ThumbCurUrl == document.URL) {
  379.  
  380. } else {
  381. ThumbPRun = 0;
  382. ThumbCurUrl = document.URL;
  383. }
  384. }
  385. if(window.location.href.indexOf("ThumbP") > -1) {
  386. if(window.location.href.indexOf("embed") > -1) {
  387. if ($('#player:hover').length != 0) {
  388. document.getElementsByClassName("video-stream html5-main-video")[0].play();
  389. } else {
  390. document.getElementsByClassName("video-stream html5-main-video")[0].pause();
  391. }
  392. } else {
  393. }
  394. }
  395. }
  396. }, 200);
  397. setInterval(function(){
  398. if (window.location.href.indexOf("watch") > -1){
  399. if (document.cookie.indexOf('loop=')== -1){
  400. } else {
  401. var curtime = document.getElementsByClassName('ytp-time-current')[0].innerHTML;
  402. var endtime = document.getElementsByClassName('ytp-time-duration')[0].innerHTML;
  403. if (curtime === endtime){
  404. document.getElementsByClassName("ytp-play-button ytp-button")[0].click();
  405. }
  406. }
  407. }
  408. }, 1000);
  409. setInterval(function(){
  410. if (window.location.href.indexOf("embed") > -1){
  411. if (document.cookie.indexOf('loop=')== -1){
  412. } else {
  413. var curtime = document.getElementsByClassName('ytp-time-current')[0].innerHTML;
  414. var endtime = document.getElementsByClassName('ytp-time-duration')[0].innerHTML;
  415. if (curtime === endtime){
  416. document.getElementsByClassName("ytp-play-button ytp-button")[0].click();
  417. }
  418. }
  419. }
  420. }, 1000);
  421. function resetVid() {
  422. }
  423. var done = false;
  424. var cururl = document.URL;
  425. setInterval(function(){
  426. if (window.location.href.indexOf("you") > -1){
  427. if (document.cookie.indexOf('abuff=')== -1){
  428. } else {
  429. if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)") {
  430. //setInterval(function(){
  431. if (done == false) {
  432. var vid = document.getElementsByClassName('video-stream html5-main-video')[0];
  433. if (vid.currentTime < 20) {
  434. document.getElementsByClassName('video-stream html5-main-video')[0].currentTime = 0;
  435. done = true;
  436. } else {
  437. var tt = document.getElementsByClassName('video-stream html5-main-video')[0].currentTime;
  438. var ttt = tt - 15;
  439. //alert(tt);
  440. //alert(ttt);
  441. document.getElementsByClassName('video-stream html5-main-video')[0].currentTime = ttt;
  442. }
  443. }
  444. //}, 1000);
  445. }
  446. if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)") {
  447. } else {
  448. done = false;
  449. }
  450. if (document.getElementById("movie_player").style.visibility === "visible") {
  451. } else {
  452. document.getElementById("movie_player").style.visibility = "hidden";
  453. }
  454. if (cururl === document.URL) {
  455. } else {
  456. location.reload();
  457. }
  458. }
  459. }
  460. }, 2000);
  461. setInterval(function(){
  462. if (window.location.href.indexOf("you") > -1){
  463. if (document.cookie.indexOf('abuff=')== -1){
  464. } else {
  465. if (document.getElementById("movie_player").style.visibility === "hidden") {
  466. document.getElementsByClassName('video-stream html5-main-video')[0].muted = true;
  467. if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)" && done == true) {
  468. document.getElementById("movie_player").style.visibility = "visible";
  469. document.getElementsByClassName('video-stream html5-main-video')[0].muted = false;
  470. }
  471. }
  472. }
  473. }
  474. }, 2000);
  475. // --------------------------RUNS ON 9xbuddy TO DOWNLOAD VIDEO--------------------------------------------
  476. if(window.location.href.indexOf("buddy") > -1) {
  477. /*var iDiv = document.createElement('div');
  478.  
  479. iDiv.id = 'block';
  480. iDiv.className = 'block';
  481. document.getElementsByTagName('body')[0].appendChild(iDiv);
  482. iDiv.height = window.height();
  483. iDiv.width = window.width();
  484. $(iDiv).css({
  485. position: 'fixed',
  486. top: 0,
  487. right: 0,
  488. bottom: 0,
  489. left: 0,
  490. zIndex: 999
  491. });*/
  492.  
  493.  
  494.  
  495. //if(!$('#javaUserWarning').is(':visible')) {
  496. setInterval(function(){
  497. if ($(".download-link-list")[0]){
  498. var els = document.getElementsByClassName('download-link-download lbcolor');
  499. var element = $('.download-about-section li');
  500. var zali = element[1]
  501. var zalitext = zali.innerHTML
  502. if (zalitext.match("VEVO")) {
  503. var li = els[1]
  504. li.id = 'dwnload';
  505. var t = $('#dwnload a').attr('href');
  506. } else {
  507. var li = els[2]
  508. li.id = 'dwnload';
  509. var t = $('#dwnload a').attr('href');
  510. }
  511. window.location = t
  512. setTimeout(function(){
  513. window.close();
  514. }, 2000);
  515. } else {
  516. //alert("test");
  517. }
  518. }, 3000);
  519. //document.getElementById("checkboxDisableJava1").checked = true;
  520.  
  521. // } else {
  522. // alert("Please check disable java applet and retry.");
  523. //}
  524. }
  525. });
  526.  
  527. // -----------------------Runs on YOUTUBE--------------------------------------------------------------
  528. //$(document).keydown(function (e) {
  529. // if (e.keyCode == 113) {
  530. //window.open("http://keepvid.com/?url=" + document.URL)
  531. // var a = document.createElement("a");
  532. //a.href = "http://catchvideo.net/?url=" + document.URL;
  533. //var evt = document.createEvent("MouseEvents");
  534. //evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
  535. //a.dispatchEvent(evt);
  536. //}
  537. //});

QingJ © 2025

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