Last active
May 2, 2016 17:08
-
-
Save TheZ3ro/82bda0eb8749c89664ce to your computer and use it in GitHub Desktop.
Extract HTML5 video link from webpages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name HTML5 Video Source | |
// @namespace thezero.org | |
// @include * | |
// @version 1 | |
// @run-at document-end | |
// @grant none | |
// ==/UserScript== | |
// create element | |
function ce(n) { return document.createElement(n); } // end of function | |
// add style | |
function addStyle(css) { | |
var head = document.head || document.getElementsByTagName('head')[0]; | |
if (head) { | |
var style = ce("style"); | |
style.type = "text/css"; | |
style.appendChild(document.createTextNode(css)); | |
head.appendChild(style); | |
} // end if | |
} // end of function | |
// toggle visibility | |
function toggle(elem) { | |
if(elem.style.display!="block"){ | |
elem.style.display="block"; | |
}else{ | |
elem.style.display="none"; | |
} | |
} | |
// remove element by ID | |
function removeById(e_id) { | |
var elem = document.getElementById(e_id); | |
elem.parentNode.removeChild(elem); | |
} | |
// add css | |
function shareCSS(){ | |
var s=''; | |
download_icon = "data:image/png;base64,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" | |
s+='#play_btn_vid { position:fixed; right:0; bottom:0%;z-index:'+zIindex+'; height:32px; width:32px; cursor:pointer; background:url('+download_icon+') no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:25px; }'; | |
s+='.play_btn { -webkit-transition-duration:0.5s linear; -o-transition-duration:0.5s linear; -moz-transition-duration:0.5s linear; transition-duration:0.5s linear; opacity:0.65; }'; | |
s+='.play_btn:hover { opacity:1; }'; | |
s+='.vid_count{font-size: 12px;color: #000;border: 2px solid rgb(51, 51, 51);background: rgb(238, 238, 238) none repeat scroll 0% 0%;font-family: sans;border-radius: 32px;}'; | |
s+='.vid_list{display:none;padding: 10px;border: 2px solid #555;border-radius: 10px;z-index: 1000;width: 400px;margin-left: -432px;background: #C8C8C8 none repeat scroll 0% 0%;margin-top: -90px;position: absolute;overflow-y: scroll;font-size: 13px;height: 75px;}'; | |
s+='.vid_list a,.vid_list a:hover{font-family: sans;color:#000;text-decoration:underline}'; | |
addStyle(''+s); | |
} | |
var el = (navigator.userAgent.indexOf('Firefox') != -1 || navigator.userAgent.indexOf('MSIE') != -1) ? document.documentElement.lastChild : document.body, | |
zIindex = 1001; | |
// main | |
function resource_counter() { | |
var resource = []; | |
var t = document.getElementsByTagName("video"); | |
if(t.length > 0) { | |
for (var i = 0; i < t.length; i++) { | |
if(t[i].currentSrc != ""){ | |
resource.push(t[i].currentSrc); | |
} | |
} | |
} | |
return resource; | |
} | |
function create_btn_element(r) { | |
var vid,vid_list,vid_count; | |
shareCSS(); | |
if(el){ | |
vid = ce('div'); | |
vid.setAttribute('id','play_btn_vid'); | |
vid.className = "play_btn"; | |
vid_count = ce('span'); | |
vid_count.setAttribute('id','vid_count'); | |
vid_count.className = "vid_count"; | |
vid_count.innerHTML = r.length; | |
vid_list = ce('div'); | |
vid_list.setAttribute('id','vid_list'); | |
vid_list.className = "vid_list"; | |
for (var i = 0; i < r.length; i++) { | |
var a = ce('a'); | |
a.href = r[i]; | |
a.innerHTML = r[i]; | |
a.target = "_blank"; | |
//console.log(r[i]); | |
vid_list.appendChild(a); | |
var br = ce('br'); | |
vid_list.appendChild(br); | |
} | |
vid.appendChild(vid_count); | |
vid.appendChild(vid_list); | |
el.appendChild(vid); | |
vid.addEventListener('click', function(){ toggle(document.getElementById("vid_list")) }, false); | |
} // end if | |
} // end of function | |
function init(){ | |
var res = resource_counter(); | |
console.log("Resource Count: "+res.length); | |
if(res.length > 0) { | |
if (document.getElementById('play_btn_vid') != null){ | |
removeById('play_btn_vid'); | |
} | |
create_btn_element(res); | |
} | |
} | |
el.onkeypress = function(e) { | |
e = e || event; | |
var key = String.fromCharCode(e.keyCode || e.charCode); | |
if(key == 'v' && e.ctrlKey && e.altKey ) { | |
init(); | |
} | |
} | |
init(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment