您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Use Storage Access API to Play YouTube (Music)? Premium Required Videos on Embed Player
当前为
// ==UserScript== // @name YouTube Embed: Use Storage Access API // @namespace https://rinsuki.net // @match https://www.youtube.com/embed/* // @grant none // @version 1.0 // @author rinsuki // @license MIT // @description Use Storage Access API to Play YouTube (Music)? Premium Required Videos on Embed Player // ==/UserScript== if ("requestStorageAccess" in document) { document.requestStorageAccess().then(()=> { console.warn("[UserScript] --- requestStorageAccess success ---") }, () => { console.warn("[UserScript] --- requestStorageAccess failed ---") }) const origOpen = XMLHttpRequest.prototype.open const origSend = XMLHttpRequest.prototype.send const weakMap = new WeakMap() // addEventListener("mouseenter", () => document.requestStorageAccess()) XMLHttpRequest.prototype.open = function(method, url, ...args) { weakMap.set(this, url) return origOpen.apply(this, [method, url, ...args]) } XMLHttpRequest.prototype.send = function(...args) { const url = weakMap.get(this) if (!url.includes("youtubei/v1/player")) { return origSend.apply(this, args) } document.requestStorageAccess().then(()=> { console.warn("[UserScript] --- requestStorageAccess success ---") }, () => { console.warn("[UserScript] --- requestStorageAccess failed ---") }).then(() => { origSend.apply(this, args) }) } } else { console.warn("[UserScript] -- requestStorageAccess not found --") }