您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Download TikTok Videos Without A Watermark - The Best, Ultimate TikTok Script
当前为
// ==UserScript== // @name TikTok Video Downloader - Ultimate // @namespace none // @version 1.73 // @description Download TikTok Videos Without A Watermark - The Best, Ultimate TikTok Script // @author altaireh // @match *://*.tiktok.com/* // @icon https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRA-YRvXcW4n9Uv8FvTYubFk4uLqV2A4J___55paaZmd3y1TT8q // @grant none // ==/UserScript== (() => { 'use strict'; const ICON_URL = 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRA-YRvXcW4n9Uv8FvTYubFk4uLqV2A4J___55paaZmd3y1TT8q'; const createButton = (video) => { const button = document.createElement('img'); button.src = ICON_URL; button.className = 'download-btn'; button.style.cssText = ` position: absolute; left: 10px; top: 50%; transform: translateY(-50%); z-index: 1000; width: 50px; height: 50px; cursor: pointer; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255, 255, 255, 0.8); `; button.onclick = (e) => { e.stopPropagation(); const videoUrl = video.src || video.querySelector('source')?.src; if (videoUrl) { const iframe = document.createElement('iframe'); iframe.style.display = 'none'; iframe.src = videoUrl; document.body.appendChild(iframe); setTimeout(() => document.body.removeChild(iframe), 1500); } else { console.error('Video URL Not Found'); } }; return button; }; const handleMouseOver = (event) => { const video = event.target; video.style.position = 'relative'; // Ensure the video container can position the button // Create and add button const button = createButton(video); video.parentNode.appendChild(button); // Handle mouse out to remove the button only when mouse leaves both video and button const handleMouseOut = () => { setTimeout(() => { // Check if the cursor is not over the video or button if (!video.matches(':hover') && !button.matches(':hover')) { button.remove(); video.removeEventListener('mouseout', handleMouseOut); } }, 100); // Delay to allow cursor to move to button }; // Handle mouse out to reattach the removal listener when cursor leaves button const handleButtonMouseOut = () => { video.addEventListener('mouseout', handleMouseOut); }; button.addEventListener('mouseout', handleButtonMouseOut); video.addEventListener('mouseout', handleMouseOut); }; const initialize = () => { const isPreviewPage = () => /v16-webapp-prime.tiktok.com|mime_type=video_mp4/.test(location.href); if (isPreviewPage()) { const video = document.querySelector('video'); if (video) { const link = document.createElement('a'); link.href = video.src || video.querySelector('source')?.src; link.download = ''; document.body.appendChild(link); link.click(); link.remove(); } } else { const observer = new MutationObserver(() => { document.querySelectorAll('video').forEach((video) => { if (!video.classList.contains('handled')) { video.classList.add('handled'); // Mark video to prevent multiple event listeners video.addEventListener('mouseover', handleMouseOver); } }); }); observer.observe(document.body, { childList: true, subtree: true }); document.querySelectorAll('video').forEach((video) => { if (!video.classList.contains('handled')) { video.classList.add('handled'); // Mark video to prevent multiple event listeners video.addEventListener('mouseover', handleMouseOver); } }); } }; initialize(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址