您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Redirect /shorts to /watch
- // ==UserScript==
- // @name Redirect YouTube Shorts to Watch
- // @namespace http://tampermonkey.net/
- // @version 0.1.3
- // @description Redirect /shorts to /watch
- // @author CY Fung
- // @license MIT
- // @run-at document-start
- // @match https://*.youtube.com/*
- // @match http://*.youtube.com/*
- // @match https://youtube.com/*
- // @match http://youtube.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
- // @grant none
- // @unwrap
- // @noframes
- // @inject-into page
- // ==/UserScript==
- (function () {
- 'use strict';
- let lastPathname = '';
- let lastId = '';
- let lastRedirection = '';
- let lastRedirectionCache = sessionStorage.getItem('v5Nmolo6');
- if (typeof lastRedirectionCache === 'string') {
- let s = lastRedirectionCache.split('|');
- if (s.length === 2) {
- let lastRedirectionTime = +s[1];
- if (Date.now() - lastRedirectionTime < 2300) {
- lastRedirection = s[0];
- }
- }
- }
- /**
- *
- * @param {Event?} evt
- */
- function checkRedirect(evt) {
- let pathname = location.pathname;
- if (lastPathname !== pathname) {
- let id = '';
- if (pathname && pathname.startsWith('/shorts')) {
- let m = /\/shorts\/([\w\-\_\+\=]+)/.exec(pathname)
- if (m) {
- id = m[1];
- }
- }
- lastPathname = pathname;
- lastId = id;
- }
- let id = lastId;
- if (id) {
- if (evt) {
- evt.stopPropagation();
- evt.stopImmediatePropagation();
- }
- if (lastRedirection !== id) {
- lastRedirection = id;
- sessionStorage.setItem('v5Nmolo6', id + '|' + Date.now());
- location.replace('/watch?v=' + id);
- }
- }
- }
- for (const s of ['yt-navigate', 'yt-navigate-start', 'yt-page-data-fetched', 'yt-page-data-updated', 'yt-navigate-finish']) {
- document.addEventListener(s, checkRedirect, true);
- }
- checkRedirect();
- // Your code here...
- })();