您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Moves comments to the right side and adds a button to toggle between comments and recommended videos
// ==UserScript== // @name Show YouTube comments while watching 2025 (MacOS) // @description Moves comments to the right side and adds a button to toggle between comments and recommended videos // @version 3.6 // @author barn852 & Eloren1 // @license MIT // @match *://*.youtube.com/* // @include *://*.youtube.com/watch* // @grant none // @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js // @run-at document-end // @noframes // @namespace https://greasyfork.org/users/572660 // ==/UserScript== (function() { 'use strict'; let showComments = true; // Show comments by default const moveComments = () => { let comments = document.getElementById('comments'); let sidebar = document.querySelector('#secondary-inner'); if (comments && sidebar && !sidebar.contains(comments)) { // Create a new container for the scrollable comments let commentsContainer = document.createElement('div'); commentsContainer.id = 'comments-container'; commentsContainer.style.overflowY = 'auto'; commentsContainer.style.maxHeight = 'calc(100vh - 60px)'; commentsContainer.style.width = '100%'; commentsContainer.appendChild(comments); // Append the new container to the sidebar sidebar.appendChild(commentsContainer); console.log('Moved comments to the right side'); } }; const updateView = () => { let comments = document.getElementById('comments'); let related = document.getElementById('related'); if (comments && related) { comments.style.display = showComments ? 'block' : 'none'; related.style.display = showComments ? 'none' : 'block'; } }; const toggleView = () => { showComments = !showComments; updateView(); }; const observer = new MutationObserver(() => { moveComments(); updateView(); }); observer.observe(document.body, { childList: true, subtree: true }); let button = document.createElement('button'); button.innerHTML = '<svg width="24" height="24" viewBox="0 0 22 22"><g fill="currentColor"><path d="M4 14h4v-4H4v4zm0 5h4v-4H4v4zM4 9h4V5H4v4zm5 5h12v-4H9v4zm0 5h12v-4H9v4zM9 5v4h12V5H9z"/></g></svg>'; button.style = 'background: transparent; border: 0; color: rgb(96,96,96); outline: 0; cursor: pointer; padding: 5px 10px;'; button.onclick = toggleView; let waitButton = setInterval(() => { let menu = document.getElementById('end'); if (menu) { clearInterval(waitButton); menu.insertBefore(button, menu.lastElementChild); updateView(); } }, 500); // Prevent YouTube from showing comments on hover document.addEventListener('mouseover', (event) => { if (!showComments && event.target.closest('#related')) { let comments = document.getElementById('comments'); if (comments) { comments.style.display = 'none'; } } }); })();