您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace video player with HTML5 native player (also enables download of videos)
当前为
// ==UserScript== // @name thisVID.com Native Player (HTML5) and download // @namespace _pc // @version 2.1 // @license MIT // @description Replace video player with HTML5 native player (also enables download of videos) // @author verydelight // @match *://thisvid.com/videos/* // @icon https://www.thisvid.com/favicon.ico // @compatible Firefox Tampermonkey // @grant none // ==/UserScript== (function() { 'use strict'; function insertVideo() { const videoElement = document.querySelector('video.fp-engine'); if (!videoElement) return; const videoUrl = videoElement.src; const posterUrl = document.querySelector('.video-holder img').src; const newVideoElement = document.createElement('video'); newVideoElement.poster = posterUrl; newVideoElement.src = videoUrl; newVideoElement.controls = true; newVideoElement.style.width = '100%'; const videoHolder = document.querySelector('.video-holder'); if (videoHolder) { videoHolder.innerHTML = ''; videoHolder.appendChild(newVideoElement); newVideoElement.play(); } } const targetNode = document.getElementById('kt_player'); if (targetNode) { const observer = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { if (mutation.type === 'childList') { const videoElement = targetNode.querySelector('video'); if (videoElement) { insertVideo(); observer.disconnect(); } } } }); observer.observe(targetNode, { childList: true, subtree: true }); //console.log('MutationObserver is monitoring for <video> elements within kt_player'); } else { //console.error('The element with ID "kt_player" was not found.'); } })();