您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
m3u8 playback using HTML5 video and MediaSource Extensions (CORS Required!)
当前为
- // ==UserScript==
- // @name hls.user.js
- // @name:zh-CN hls.user.js
- // @namespace hls.js
- // @version 0.2.1
- // @description m3u8 playback using HTML5 video and MediaSource Extensions (CORS Required!)
- // @description:zh-cn 基于HTML5和MediaSource Extensions的hls/m3u8播放
- // @include https://*
- // @include http://*
- // @exclude http://218.94.1.182:8080/*
- // @grant none
- // @license MIT
- // @require https://cdn.jsdelivr.net/hls.js/latest/hls.min.js
- // ==/UserScript==
- 'use strict';
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
- var makehls = function makehls(element) {
- 'use strict';
- if (!(element && element.tagName.toLowerCase() === 'video')) return false;
- var src = element.currentSrc || element.src;
- if (!(src && src.match('m3u8'))) return false;
- //if(!(element.error&&element.error.code==4)) return;
- var hls = new Hls();
- hls.attachMedia(element);
- hls.on(Hls.Events.MEDIA_ATTACHED, function (e) {
- return hls.loadSource(src);
- });
- return hls;
- };
- (function () {
- 'use strict';
- //console.log([...document.getElementsByTagName('video')].map(makehls));
- [].concat(_toConsumableArray(document.getElementsByTagName('video'))).map(makehls);
- var observerFn = function observerFn(mutationRecord) {
- if (mutationRecord.type === 'childList' && mutationRecord.target && typeof getElementsByTagName === 'function') return [].concat(_toConsumableArray(mutationRecord.target.getElementsByTagName('video'))).map(makehls);
- return makehls(mutationRecord.target);
- };
- var mutationObserver = new MutationObserver(function (mutations) {
- return mutations.map(observerFn);
- });
- mutationObserver.observe(document, {
- childList: true,
- attributes: true,
- subtree: true,
- attributeFilter: ['src']
- });
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址