// ==UserScript== // @name 资源网插件 // @namespace http://tampermonkey.net/ // @version 3.0.0 // @description 实现资源采集网站的m3u8播放,配合FastStream Video Player浏览器扩展食用更佳!!! // @author xiaoya123 // @require https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.5.7/hls.min.js // @license Disclose source // @match *://cj.lzcaiji.com/* // @match *://www.lzizy7.com/* // @match *://tkzy1.com/* // @match *://yhzy.cc/* // @include /.*hongniu.*/ // @include /.*ckzy.*/ // @include /.*wujinzy.*/ // @include /.*wolongzy.*/ // @include /.*wlzyw.*/ // @include /.*jinying.*/ // @include /.*jyzy.*/ // @include /.*guangsuzy.*/ // @include /.*23\.224\.101\.30.*/ // @icon https://www.google.com/s2/favicons?sz=64&domain=lzcaiji.com // @grant none // @downloadURL https://update.greasyfork.icu/scripts/487975/%E8%B5%84%E6%BA%90%E7%BD%91%E6%8F%92%E4%BB%B6.user.js // @updateURL https://update.greasyfork.icu/scripts/487975/%E8%B5%84%E6%BA%90%E7%BD%91%E6%8F%92%E4%BB%B6.meta.js // ==/UserScript== (function () { 'use strict'; // 按钮样式style var style = document.createElement('style'); var theHead = document.head || document.getElementsByTagName('head')[0]; style.appendChild(document.createTextNode('#main{width:100%;display:flex;flex-direction:column}#main .left{display:flex;flex-wrap:wrap}button{background-color:#1795bb;border-radius:10px;border:0;color:white;padding:8px 16px;text-align:center;text-decoration:none;font-size:16px;margin:4px 2px;cursor:pointer}video{width:100%}#dataTitle{text-align: center;font-size: 30px;color: blue;padding:25px}')); theHead.appendChild(style); let contentMap = [ 'document.querySelectorAll("#content")[1]', 'document.querySelectorAll(".playBox")[1]', 'document.querySelectorAll("#playlist")[0]', 'document.querySelectorAll(".dy-collect")[0]' ] let reg_hrefg = /(.+?)\$*(http.*\.m3u8)/gi; let reg_href = /(.+?)\$*(http.*\.m3u8)/i; let str = ""; let content; for (let i = 0; i < contentMap.length; i++) { content = eval(contentMap[i]); if (undefined != content) { break; } } // 获取a标签中的网址 let href_list = content.innerText; findHref(href_list); content.innerHTML = '
'; function findHref(html) { let list = html.match(reg_hrefg); if (list === null) { str = "链接为空!"; return; } list.forEach(k => { let ks = k.match(reg_href); str += ''; }) } document.querySelector('#main .left').innerHTML = str; var video = document.getElementById('video'); let len = 1000; let videoHLS = { autoStartLoad: true, manifestLoadingTimeOut: 60000, //manifestLoadingMaxRetry : 9, manifestLoadingRetryDelay: 500, levelLoadingTimeOut: 60000, //levelLoadingMaxRetry : 9, levelLoadingRetryDelay: 500, fragLoadingTimeOut: 60000, //fragLoadingMaxRetry : 6, fragLoadingRetryDelay: 250, startFragPrefetch: true } var currentHls; function play(url) { if (Hls.isSupported()) { // 如果 Hls 实例已存在,则重用它 if (currentHls) { currentHls.loadSource(url); currentHls.attachMedia(video); } else { // 否则,创建新的 Hls 实例 currentHls = new Hls(); currentHls.loadSource(url); currentHls.attachMedia(video); } currentHls.on(Hls.Events.MANIFEST_PARSED, function () { video.playbackRate = 2; video.play(); }); } } // 在事件监听器外部获取 #dataTitle 元素 let dataTitle = document.querySelector("#dataTitle"); // 如果您的所有按钮都在某个父元素中,例如一个叫做 #buttonContainer 的 div let buttonContainer = document.querySelector("#buttonContainer"); buttonContainer.addEventListener('click', function (event) { // 检查确保点击的是按钮 if (event.target.getAttribute('data-href')) { dataTitle.innerText = event.target.innerText; play(event.target.getAttribute('data-href')); } }); })();