thisVID.com Native Player (HTML5) and download

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

Versão de: 10/02/2025. Veja: a última versão.

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

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