您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Redirects to the video source when clicking on the button
// ==UserScript== // @name Video source link // @namespace http://tampermonkey.net/ // @version 0.1 // @license MIT // @description Redirects to the video source when clicking on the button // @author You // @match http*://*/* // @icon https://www.google.com/s2/favicons?domain=earth.google.com/web/ // @grant none // ==/UserScript== (async function() { 'use strict'; function runWhenReady(readySelector, callback) { var numAttempts = 0; var tryNow = function() { var elem = document.querySelector(readySelector); if (elem) { callback(elem); } else { numAttempts++; if (numAttempts >= 15) { console.warn('Giving up after 15 attempts. Could not find: ' + readySelector); } else { setTimeout(tryNow, 250 * Math.pow(1.1, numAttempts)); } } }; tryNow(); } var getSrc = () => { let video = document.querySelector("video"); let src = video.src ? video.src : video.childNodes[0]?.src console.log(src) if (src && document.location.href != src ) { return src } else { console.log("You need to click on the video so that the src loads") } return "NonValidLink" } runWhenReady ('video', async function (ele) { let btn = document.createElement("button"); let anchor = document.createElement("a"); btn.innerHTML = "Redirect"; //btn.onclick = redirectToSrc; btn.style.position = "fixed" btn.style.zIndex = 2147483 btn.style.inset = "70px auto auto 0px" btn.style.setProperty("background-color", "cyan", "important") btn.style.border = "none" btn.style.setProperty("border", "2px solid black", "important") btn.style.borderRadius = "10px" btn.style.setProperty("color", "black", "important") btn.style.setProperty("width", "clamp(50px, 80px, 120px)", "important") btn.style.height = "30px" await new Promise((r) => setTimeout(r, 1500)) let src = getSrc() anchor.href = src anchor.appendChild(btn) // Only show button if it points to a meaningful link if (src.startsWith("http")) { document.body.appendChild(anchor) } }) })();