thisVID.com Native Player (HTML5) and download

Replace video player with HTML5 native player (also enables download of videos)

От 10.02.2025. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==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.');
	}
})();