/** * Youtube Download Links * * Add downloadable links in Youtube Page * * * == Bookmarklet == * javascript:var%20d=document,s=d.createElement('script');s.charset='UTF-8';s.src='http://jjworkshop.com/scripts/youtube_downloadable_links_ex.js';d.body.appendChild(s);void(0); * * original * http://creazy.net/2008/11/youtube_downloader_greasemonkey.html * yager * * modify by JJ 2010/4/8 * http://jjworkshop.com/ * shirai@as.email.ne.jp */ var ver = '[Download Links ver 0.9.2.1]'; var isIE = /*@cc_on!@*/false; var d = document; // var insDiv = 'watch-headline'; var insDiv = 'watch-info'; ver += '
 ' + 'If MP4 is necessary, it clicks.' ver += '
  Please put the extension on the saved file. (ex. videoplayback.flv or videoplayback.mp4)'; var u = 'http://hogehoge.com/checkHoge3.cgi'; ←ここは変えてね! // Formats [number, description] var f = [ [5, '(.flv):normal 320x240'], [6, '(.flv):HQ 448x336'], [18,'(.mp4):iPhone 480x360'], [22,'(.mp4):HD 1280x720'], [35,'(.flv):HQ35 640x480'] ]; // URLゲット var swfHTML; if (isIE) { swfHTML=document.getElementById('movie_player').getElementsByTagName('param')[1].value; } else { swfHTML=document.getElementById('movie_player').getAttribute('flashvars'); } var w=swfHTML.split('&'); var links = ''; function getUrl(iFmt) { for(var i=0;i<=w.length-1;i++) if(w[i].split('=')[0] == 'fmt_url_map'){links=unescape(w[i].split('=')[1]);break;} abc = links.split(','); for(var j=0;j<=abc.length-1;j++){ fmt=abc[j].split('|')[0]; if(fmt==iFmt){ return abc[j].split('|')[1]; } } return ''; } if(!d.getElementById('DL-YT-video') && (location.href.match(/http:\/\/[a-zA-Z\.]*youtube\.com\/watch/)) ) { /** * no fmt */ d.getElementById(insDiv).innerHTML += '
'+ver+'
'+'
'; url0 = u + '?callback=checkURL0'; d.getElementById('DL-YT-video').innerHTML += '
[checking] '+f[0][1]+'
'; checkURL0 = function() { block = document.getElementById('DL-YT-video-formats-'+f[0][0]); var url = getUrl(f[0][0]); if ( url != '' ) { block.innerHTML = '[OK] DL '+f[0][1]+'
'; } else { block.innerHTML = '[NG] DL '+f[0][1]+'
'; } } script = document.createElement('script'); script.charset = 'UTF-8'; script.src = url0; document.body.appendChild(script); /** * &fmt=6 */ d.getElementById(insDiv).innerHTML += '
'; url1 = u + '?callback=checkURL1'; d.getElementById('DL-YT-video').innerHTML += '
[checking] '+f[1][1]+'
'; checkURL1 = function() { block = document.getElementById('DL-YT-video-formats-'+f[1][0]); var url = getUrl(f[1][0]); if ( url != '' ) { block.innerHTML = '[OK] DL '+f[1][1]+'
'; } else { block.innerHTML = '[NG] DL '+f[1][1]+'
'; } } script = document.createElement('script'); script.charset = 'UTF-8'; script.src = url1; document.body.appendChild(script); /** * &fmt=18 */ d.getElementById(insDiv).innerHTML += '
'; url2 = u + '?callback=checkURL2'; d.getElementById('DL-YT-video').innerHTML += '
[checking] '+f[2][1]+'
'; checkURL2 = function() { block = document.getElementById('DL-YT-video-formats-'+f[2][0]); var url = getUrl(f[2][0]); if ( url != '' ) { block.innerHTML = '[OK] DL '+f[2][1]+'
'; } else { block.innerHTML = '[NG] DL '+f[2][1]+'
'; } } script = document.createElement('script'); script.charset = 'UTF-8'; script.src = url2; document.body.appendChild(script); /** * &fmt=22 */ d.getElementById(insDiv).innerHTML += '
'; url3 = u + '?callback=checkURL3'; d.getElementById('DL-YT-video').innerHTML += '
[checking] '+f[3][1]+'
'; checkURL3 = function() { block = document.getElementById('DL-YT-video-formats-'+f[3][0]); var url = getUrl(f[3][0]); if ( url != '' ) { block.innerHTML = '[OK] DL '+f[3][1]+'
'; } else { block.innerHTML = '[NG] DL '+f[3][1]+'
'; } } script = document.createElement('script'); script.charset = 'UTF-8'; script.src = url3; document.body.appendChild(script); /** * &fmt=35 */ d.getElementById(insDiv).innerHTML += '
'; url4 = u + '?callback=checkURL4'; d.getElementById('DL-YT-video').innerHTML += '
[checking] '+f[4][1]+'
'; checkURL4 = function() { block = document.getElementById('DL-YT-video-formats-'+f[4][0]); var url = getUrl(f[4][0]); if ( url != '' ) { block.innerHTML = '[OK] DL '+f[4][1]+'
'; } else { block.innerHTML = '[NG] DL '+f[4][1]+'
'; } } script = document.createElement('script'); script.charset = 'UTF-8'; script.src = url4; document.body.appendChild(script); }