您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pause videos playing in other background tabs. When you start playback of a video in foreground tab, background playback will be paused.
// ==UserScript== // @name YouTube - Pause background videos // @namespace q1k // @version 1.0.1 // @description Pause videos playing in other background tabs. When you start playback of a video in foreground tab, background playback will be paused. // @author q1k // @match *://www.youtube.com/* // @grant none // @run-at document-start // ==/UserScript== function findElement(selector) { return new Promise(function(resolve) { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(function(mutations) { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } }); observer.observe(document, { childList: true, subtree: true }); }); } var video; const channel = new BroadcastChannel("video-channel"); findElement("#player #movie_player video").then(function(el){ video = el; /*if(!!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2)) { channel.postMessage("pause"); }*/ Object.defineProperty(el, 'isplaying', { get: function(){ return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2); } }); video.addEventListener("playing",function(){ //start play, send pause if(document.hasFocus()){ channel.postMessage("pause"); } }) }); channel.addEventListener("message",function(ev){ if(ev.data=="pause"){ //received pause if(!document.hasFocus()){ //ignore if tab is active if(video.isplaying) { video.pause(); } } } });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址