您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replaces the text "SOON" with the video duration and updates the view count in the metadata.
// ==UserScript== // @name Replace SOON and Update Views // @namespace http://tampermonkey.net/ // @version 0.81 // @description Replaces the text "SOON" with the video duration and updates the view count in the metadata. // @match *://www.youtube.com/* // @grant none // @license none // @run-at document-end // ==/UserScript== (function() { 'use strict'; function updateVideoInfo() { // Substituir "EM BREVE" pelo tempo do vídeo document.querySelectorAll('ytd-thumbnail-overlay-time-status-renderer').forEach(overlay => { const textElement = overlay.querySelector('.badge-shape-wiz__text'); const spanTextElement = overlay.querySelector('#text'); if (textElement && textElement.textContent.trim() === 'EM BREVE') { const lengthElement = overlay.closest('ytd-rich-grid-media').querySelector('yt-formatted-string#length'); if (lengthElement) { const videoTime = lengthElement.textContent.trim(); textElement.textContent = videoTime; if (spanTextElement) { spanTextElement.textContent = videoTime; } } } }); // Atualizar visualizações no metadado do vídeo document.querySelectorAll('ytd-video-meta-block').forEach(metaBlock => { const ariaLabel = metaBlock.querySelector('yt-formatted-string[aria-label]'); const viewCountElement = metaBlock.querySelector('span.inline-metadata-item.style-scope.ytd-video-meta-block'); if (ariaLabel && viewCountElement) { // Extrai visualizações do aria-label const ariaText = ariaLabel.getAttribute('aria-label'); const viewCountMatch = ariaText.match(/(\d+ visualizações)/); if (viewCountMatch) { const viewCount = viewCountMatch[0]; // Substitui o texto do metadado com a contagem de visualizações extraída viewCountElement.textContent = viewCount; } } }); } // Execute a função quando o DOM estiver totalmente carregado document.addEventListener('DOMContentLoaded', updateVideoInfo); // Execute a função também em intervalos regulares para cobrir alterações dinâmicas setInterval(updateVideoInfo, 3000); // Executa a cada 3 segundos })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址