Auto Pause Youtube Channel Homepage Video

auto pause the channel homepage video

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name               Auto Pause Youtube Channel Homepage Video
// @name:zh-TW         Auto Pause Youtube Channel Homepage Video
// @namespace          https://greasyfork.org/scripts/453851
// @version            1.1.2
// @description        auto pause the channel homepage video
// @description:zh-TW  自動暫停Youtube頻道首頁的影片
// @author             Derek
// @match              *://www.youtube.com/*
// @grant              none
// @noframes
// ==/UserScript==

const $ = (element) => document.querySelector(element)

const main = () => {
  if (/\/(@|channel|user|c)/.test(window.location.pathname)) {
    const observer = new MutationObserver(() => {
      const moviePlayer = $('ytd-browse video')
      if (moviePlayer && !moviePlayer.paused) {
        moviePlayer.pause()
        observer.disconnect()
      }
    })
    observer.observe(document.body, { attributes: false, childList: true, subtree: true })
  }
}

document.addEventListener('yt-navigate-finish', main)