>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Скрипты http://forum.mozilla-russia.org/viewforum.php?id=37 >AutoplayDestroyer :P http://forum.mozilla-russia.org/viewtopic.php?id=74907 |
mokujin > 12-09-2019 14:25:56 |
Всё. Ничего не прошу. забейте. AutoplayDestroyer v2.0 Выделить код Код:// ==UserScript== // @author mokujin // @namespace xz.boom // @name AutoplayDestroyer v 2.0 // @description AutoplayDestroyer HTML5 // @include http* // @exclude http*youtube.com/* // @exclude http*mastarti.com/* // @exclude http*moonwalk.com/* // @version 2.0 // @grant none // @run-at document-start // ==/UserScript== document.addEventListener("readystatechange", getVideos, true); const brutStop = true; // true | false как обычно. действие - обрубает загрузку в фоне. Если не подменять(false) то видео бут остановленно, //но фоновая загрузка(буферизация) будет идти. т.о. и сеть и диск и проч будут задействованы. // true по-умолчанию. нафиг буферизацию. let arVideos, attempts = 0, mRegExp = new RegExp(/(?:blob|mediasource):/gi); function getVideos() { switch (document.readyState) { case "complete": arVideos = document.querySelectorAll("video"); // console.log("заходов getVideos: " + attempts + " Массив с видео= " + arVideos.length); if ( (arVideos.length < 1 || arVideos[0].networkState > 2 ) && attempts < 6) { // здесь кол-во попыток поиска можно больше-мешьше сделать attempts= attempts +=1; setTimeout( getVideos, 300 ); break; return; } else { videoStop(); break; return; }; break; }; }; function videoStop() { let origUrl, fakeUrl = "https://ringtonina.ru/files_site_01/005/standartnyj_rington_na_sms_soobshhenie_nokia_message.mp3"; Array.forEach(arVideos, function(video) { origUrl = video.currentSrc; if( !origUrl || mRegExp.test(origUrl) ) return; video.pause(); video.oncanplay = ()=> video.pause(); if(brutStop) { video.setAttribute("src", fakeUrl); video.setAttribute("orig_src", origUrl); video.setAttribute("video_processed", true); setTimeout(retOrigVideoAddress, 1000); } else { setTimeout(createLink, 1000); } }); }; function retOrigVideoAddress() { Array.forEach(arVideos, function(revid) { if ( revid.getAttribute("video_processed") ) { revid.setAttribute("src", revid.getAttribute("orig_src")); revid.removeAttribute("video_processed"); revid.setAttribute("preload", "metadata"); revid.pause(); // console.log( "Вернул src url: " + revid.getAttribute("src") ); } else { revid.pause(); } }); createLink(); }; function createLink() { Array.forEach(arVideos, function(vid) { let urlVideo = ( vid.currentSrc || vid.getAttribute("src") ); // console.log( "createLink func " + urlVideo ); if ( !urlVideo || urlVideo == "null" ) return; let div = document.createElement('DIV'); div.id = "videoAddrLink"; div.title = "Video Adress:\n" + urlVideo; div.innerHTML += "<a style=\"color: #00FF72; font-size: 1.2em;\" href=\"" + urlVideo + "\" type=\"video/mp4\"> Video_URl </a>"; div.style.backgroundColor = "#005B00"; div.style.position = "absolute"; // absolute relative(будет внизу) fixed div.style.top = "8px"; div.style.left = "12px"; div.style.zindex = "2147483647"; // largest positive value of a signed 32-bit integer z-index: 2147483647 document.body.appendChild(div); }); }; |