您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a few features from youtube playlists to youtube-playlist-randomizer
// ==UserScript== // @name Youtube shuffle bitbucket.io helper // @namespace https://youtube-playlist-randomizer.bitbucket.io/ // @version 1.4 // @description Adds a few features from youtube playlists to youtube-playlist-randomizer // @author lopt24d // @match https://youtube-playlist-randomizer.bitbucket.io/* // @grant none // ==/UserScript== (function() { // Autostart bookmarked playlist var pid = new URL(window.location).searchParams.get("pid"); if (pid != null) { document.getElementById("pid").value = pid; getVids(); } var playerFound = false; var seekPlayer = setInterval(function () { if (player) { playerFound = true; clearInterval(seekPlayer); } }, 1000); var focus; window.addEventListener('keydown', function(event) { focus = document.activeElement.tagName; if (!(focus == "INPUT" || focus == "TEXTAREA") && playerFound) { switch (event.keyCode) { case ('N'.charCodeAt()): // Next video playNext(); break; case ('P'.charCodeAt()): // Previous video playPrev(); break; case ('R'.charCodeAt()): // Reshuffle getVids(); break; case ('H'.charCodeAt()): // hide/show playlist document.getElementById("list").setAttribute("size", document.getElementById("list").getAttribute("size") ^ "10") break; case ('L'.charCodeAt()): // seek forward 10 seconds player.seekTo(player.getCurrentTime() + 10); break; case ('J'.charCodeAt()): // seek backwards 10 seconds player.seekTo(player.getCurrentTime() - 10); break; case ('K'.charCodeAt()): // pause/unpause video if (player.getPlayerState() == 1) player.pauseVideo(); else player.playVideo(); break; case ('M'.charCodeAt()): // mute/unmute video if (player.isMuted()) player.unMute(); else player.mute(); break; } } }); })();