您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Rewrite YouTube links to SkipCut links before they are opened
// ==UserScript== // @name YouTube → SkipCut Link Rewriter // @namespace https://greasyfork.org/nl/users/1197317-opus-x // @version 1.0 // @description Rewrite YouTube links to SkipCut links before they are opened // @author Opus-X // @license MIT // @icon https://www.skipcut.com/favicon.ico // @match *://*/* // @run-at document-start // ==/UserScript== (function () { 'use strict'; function convertYouTubeToSkipCut(url) { try { const u = new URL(url); if (u.hostname.match(/(^|\.)youtube\.com$/)) { // Normal video if (u.pathname === '/watch' && u.searchParams.has('v')) { return `https://www.skipcut.com/watch?v=${u.searchParams.get('v')}`; } // Live stream if (u.pathname.startsWith('/live/')) { const liveId = u.pathname.split('/')[2]; if (liveId) { return `https://www.skipcut.com/live/${liveId}`; } } // Playlist if (u.pathname === '/playlist' && u.searchParams.has('list')) { return `https://www.skipcut.com/playlist?list=${u.searchParams.get('list')}`; } } } catch (e) {} return null; } document.addEventListener('click', function (e) { // Only left-click without modifier keys if (e.button !== 0 || e.ctrlKey || e.shiftKey || e.metaKey) return; const a = e.target.closest('a[href]'); if (!a) return; const newUrl = convertYouTubeToSkipCut(a.href); if (newUrl) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); // Kill YouTube's own router window.open(newUrl, '_blank', 'noopener'); } }, true); // capture mode so we run before site handlers })();