
2个Youtube的Tampermonkey脚本代码
代码1:主页默认的列表替换为“发现新视频”。
// ==UserScript==
// @name YouTube Default to "发现新视频"
// @namespace http://tampermonkey.net/
// @version 1.2
// @description 自动点击“发现新视频”按钮,使其成为默认页面。
// @author Your Name
// @match https://www.youtube.com/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const logPrefix = '[YouTube Script]: ';
let isButtonClicked = false;
// 定义一个 MutationObserver 监听器
let observer;
/**
* 查找并点击“发现新视频”按钮
*/
function clickDiscoverButton() {
if (isButtonClicked) {
return; // 如果按钮已经点击,直接返回
}
const button = Array.from(document.querySelectorAll('yt-chip-cloud-chip-renderer button[role="tab"]'))
.find(b => b.innerText.trim() === '发现新视频');
if (button) {
console.log(logPrefix + '找到“发现新视频”按钮,点击中...');
button.click();
isButtonClicked = true; // 标记按钮已点击
console.log(logPrefix + '点击完成,停止观察。');
// 停止观察,释放资源
if (observer) observer.disconnect();
}
}
/**
* 初始化脚本
*/
function init() {
console.log(logPrefix + '脚本初始化...');
// 页面加载完成后,直接尝试查找按钮
window.addEventListener('load', () => {
console.log(logPrefix + '页面加载完成,尝试点击按钮...');
setTimeout(clickDiscoverButton, 1000);
});
// 如果按钮是动态加载的,使用 MutationObserver 监听 DOM 变化
observer = new MutationObserver(() => {
console.log(logPrefix + '检测到 DOM 变化,检查按钮...');
clickDiscoverButton();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
console.log(logPrefix + '开始监听 DOM 变化...');
}
init();
})();
代码2:点击视频在新标签页打开
// ==UserScript==
// @name YouTube Open Videos in New Tab
// @namespace http://tampermonkey.net/
// @version 1.4
// @description Force YouTube videos to open in a new tab
// @author YourName
// @match *://*.youtube.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Intercept click events
document.body.addEventListener('click', function(event) {
const link = event.target.closest('a');
if (link && link.href.includes('/watch')) {
// Prevent default click behavior
event.preventDefault();
event.stopPropagation();
// Open the link in a new tab
window.open(link.href, '_blank');
}
}, true); // Capture phase
})();
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果