您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This userscript fixes watch action buttons issue with third-party YT tools that puts this section in the side, but with the exception of the classic Subscribed icon.
当前为
// ==UserScript== // @name Action Buttons Fix (modified, V2) // @version 2025.09.08 // @description This userscript fixes watch action buttons issue with third-party YT tools that puts this section in the side, but with the exception of the classic Subscribed icon. // @author Joey_JTS (original author: xX_LegendCraftd_Xx) // @icon https://www.youtube.com/favicon.ico // @namespace https://greasyforks.org/en/users/933798 // @license MIT // @match *://www.youtube.com/* // @grant none // @run-at document-start // ==/UserScript== const abtnconfig = { unsegmentLikeButton: false, noFlexibleItems: true }; function updateBtns() { var watchFlexy = document.querySelector("ytd-watch-flexy"); var results = watchFlexy.data.contents.twoColumnWatchNextResults.results.results.contents; for (var i = 0; i < results.length; i++) { if (results[i].videoPrimaryInfoRenderer) { var actions = results[i].videoPrimaryInfoRenderer.videoActions.menuRenderer; if (abtnconfig.unsegmentLikeButton) { if (actions.topLevelButtons[0].segmentedLikeDislikeButtonRenderer) { var segmented = actions.topLevelButtons[0].segmentedLikeDislikeButtonRenderer; actions.topLevelButtons.splice(0, 1); actions.topLevelButtons.unshift(segmented.dislikeButton); actions.topLevelButtons.unshift(segmented.likeButton); } } if (abtnconfig.noFlexibleItems) { for (var i = 0; i < actions.flexibleItems.length; i++) { actions.topLevelButtons.push(actions.flexibleItems[i].menuFlexibleItemRenderer.topLevelButton); } delete actions.flexibleItems } } } var temp = watchFlexy.data; watchFlexy.data = {}; watchFlexy.data = temp; } document.addEventListener("yt-page-data-updated", (e) => { if (e.detail.pageType == "watch") { updateBtns(); } }); (function() { let css = ` /* Additional fixes */ #actions.ytd-watch-metadata { min-width: auto !important; } yt-button-view-model.ytd-menu-renderer .yt-spec-button-shape-next--size-m, ytd-download-button-renderer .yt-spec-button-shape-next--size-m, #loop-button > .yt-spec-button-shape-next--size-m { margin-left: 8px !important } #flexible-item-buttons .ytd-menu-renderer, #top-level-buttons-computed yt-button-view-model.ytd-menu-renderer, ytd-download-button-renderer.style-scope.ytd-menu-renderer, ytd-button-renderer#loop-button { margin-left: 0 !important }`; if (typeof GM_addStyle !== "undefined") { GM_addStyle(css); } else { let styleNode = document.createElement("style"); styleNode.appendChild(document.createTextNode(css)); (document.querySelector("head") || document.documentElement).appendChild(styleNode); } })();