您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Use the P button to add the current song to a playlist
// ==UserScript== // @name Add to playlist shortcut for youtube music // @namespace http://tampermonkey.net/ // @version 0.2 // @description Use the P button to add the current song to a playlist // @author MagnusRE // @match *://music.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net // @license MIT // ==/UserScript== // waitForElm from https://stackoverflow.com/a/61511955/ function waitForElm(selector) { return new Promise(resolve => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(mutations => { if (document.querySelector(selector)) { observer.disconnect(); resolve(document.querySelector(selector)); } }); // If you get "parameter 1 is not of type 'Node'" error, see https://stackoverflow.com/a/77855838/492336 observer.observe(document.body, { childList: true, subtree: true }); }); } (function() { 'use strict'; window.addEventListener("keydown",function(event) { var ae = document.activeElement.tagName; if(event.keyCode === 80 && ae != "INPUT") { console.log("opening playlist menu..."); var popupMenu = document.querySelector(".middle-controls #button-shape .yt-spec-touch-feedback-shape"); waitForElm("tp-yt-paper-listbox :nth-child(7) > #navigation-endpoint") .then((playlistLink) => { console.log("got ", playlistLink); playlistLink.click(); }); popupMenu.click(); } }, false) })(); // changelog: // 0.2 move popupMenu.click() after the event listener has been installed.