您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a shortcut to the P button to add the current song to a playlist
// ==UserScript== // @name YTM Add to playlist shortcut // @namespace http://tampermonkey.net/ // @version 0.1 // @description Adds a shortcut to the P button to add the current song to a playlist // @author Radulfus // @match *://music.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net // @grant none // ==/UserScript== (function() { 'use strict'; window.addEventListener("keydown",function(event) { console.log("keycode? " + event.keyCode); if(event.keyCode === 80) { console.log("i'm in"); Array.from(document.getElementsByTagName("ytmusic-menu-renderer")).filter(ele=>ele.classList=="menu style-scope ytmusic-player-bar")[0].children[2].dispatchEvent(new Event("click")); Array.from(document.getElementsByTagName("ytmusic-menu-renderer")).filter(ele=>ele.classList=="menu style-scope ytmusic-player-bar")[0].children[2].dispatchEvent(new Event("click")); setTimeout(function(){ var playlistButtonElements = document.querySelectorAll('[d="M22,13h-4v4h-2v-4h-4v-2h4V7h2v4h4V13z M14,7H2v1h12V7z M2,12h8v-1H2V12z M2,16h8v-1H2V16z"].style-scope.yt-icon'); const elementsWithParentNode = Array.from(playlistButtonElements).filter(element => element.parentElement && element.parentElement.parentElement && element.parentElement.parentElement.parentElement && element.parentElement.parentElement.parentElement.parentElement && element.parentElement.parentElement.parentElement.parentElement.matches('#navigation-endpoint') ); console.log("Count: "+ elementsWithParentNode.length); console.log(elementsWithParentNode[0].parentElement.parentElement.parentElement.parentElement); elementsWithParentNode[0].parentElement.parentElement.parentElement.parentElement.dispatchEvent(new Event("click")); }, 100); } }, false) })();