您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Watch video/audio URLs right on the page instead of downloading them!
- // ==UserScript==
- // @name Inline Media Player (HTML5)
- // @namespace gfish
- // @author gfish
- // @version 1.0
- // @description Watch video/audio URLs right on the page instead of downloading them!
- // @license MIT
- // @match *://*/*
- // @grant none
- // @run-at document-end
- // ==/UserScript==
- (function() {
- const VIDEO_EXTENSIONS = ['mp4', 'm4v', 'mov', 'avi', 'mpeg', 'wmv', 'mov']
- const AUDIO_EXTENSIONS = ['mp3', 'wav', 'm4a', 'ogg', 'aac', 'flac']
- let inv = setInterval(() => {
- if (document.links.length > 0) {
- clearInterval(inv);
- Object.values(document.links).forEach(s => {
- let ext = s.href.split('.').pop().toLowerCase().split('?').shift();
- if (VIDEO_EXTENSIONS.includes(ext)) {
- let frame = document.createElement("span");
- frame.innerHTML = `<br><video controls="" loop preload="metadata" style="max-width: 100%; max-height: 100vh;" ><source src="${s.href}"></source></video>`;
- s.parentNode.insertBefore(frame, s.nextSibling);
- }
- else if (AUDIO_EXTENSIONS.includes(ext)) {
- let frame = document.createElement("span");
- frame.innerHTML = `<br><audio controls="" loop preload="metadata" style="width: 100%;" ><source src="${s.href}"></source></audio>`;
- s.parentNode.insertBefore(frame, s.nextSibling);
- }
- })
- }
- }, 100)
- })();