NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name video2link // @namespace video2link // @version 0.13 // @description video tag to url link // @author miszel // @match *://*/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; var searchVideo = function () { var video = document.getElementsByTagName('video'); if (video.length > 0) { var div = document.createElement('div'); div.style.position = 'fixed'; div.style.bottom = 0; div.style.width = '100%'; div.style.zIndex = 2147483647; document.body.appendChild(div); var links = []; var appendVideoLink = function (src) { if (links.indexOf(src) == -1) { var a = document.createElement('a'); a.target = '_blank'; a.href = src; a.text = src.substr(src.lastIndexOf('/') + 1); a.style.fontSize = '2rem'; a.style.wordBreak = 'break-all'; a.style.userSelect = 'none'; a.style.setProperty('-moz-user-select', 'none', 'important'); if (links.length > 0) div.appendChild(document.createElement('br')); div.appendChild(a); links[links.length] = src; } }; for (var v = 0; v < video.length; v++) { if (video[v].src !== '') { appendVideoLink(video[v].src); } var source = video[v].getElementsByTagName('source'); if (source.length > 0) { for (var s = 0; s < source.length; s++) { if (source[s].src !== '') { appendVideoLink(source[s].src); } } } } } }; var divV = document.createElement('div'); divV.style.position = 'absolute'; divV.style.top = Math.floor((Math.random() * 100) + 1) + 'px'; divV.style.left = Math.floor((Math.random() * 50) + 1) + 'px'; divV.style.backgroundColor = '#FF0000'; divV.style.color = '#FFFFFF'; divV.style.width = '40px'; divV.style.height = '40px'; divV.style.fontSize = '20px'; divV.style.lineHeight = '40px'; divV.style.textAlign = 'center'; divV.style.cursor = 'pointer'; divV.style.zIndex = 2147483647; divV.style.borderRadius = '5px'; divV.style.userSelect = 'none'; divV.style.setProperty('-moz-user-select', 'none', 'important'); divV.style.touchAction= 'none'; divV.innerText = '\u25B6'; //divV.onclick = searchVideo; document.body.appendChild(divV); var mousePosition; var offset = [0, 0]; var flag = 0; ['mousedown', 'touchstart'].forEach(function (e) { divV.addEventListener(e, function (event) { flag = 1; offset = [ divV.offsetLeft - (event.clientX || event.touches[0].clientX || 0), divV.offsetTop - (event.clientY || event.touches[0].clientY || 0) ]; }, {passive: true}); }); ['mouseup', 'touchend'].forEach(function (e) { document.addEventListener(e, function () { if (flag === 1) searchVideo(); flag = 0; }, true); }); ['mousemove', 'touchmove'].forEach(function (e) { document.addEventListener(e, function (event) { if (flag >= 1) { flag = 2; mousePosition = { x: (event.clientX || event.touches[0].clientX || 0), y: (event.clientY || event.touches[0].clientY || 0) }; divV.style.left = (mousePosition.x + offset[0]) + 'px'; divV.style.top = (mousePosition.y + offset[1]) + 'px'; e.preventDefault; } }, {passive: false}); }); })();