Continue playing MISSAV

Prevents the video from stopping when clicking off-screen.

질문, 리뷰하거나, 이 스크립트를 신고하세요.
  1. // ==UserScript==
  2. // @name Continue playing MISSAV
  3. // @name:ja Continue playing MISSAV
  4. // @namespace http://tampermonkey.net/
  5. // @version 2025-02-10-01
  6. // @description Prevents the video from stopping when clicking off-screen.
  7. // @description:ja 画面外クリック時に動画が停止するのを防ぎます。
  8. // @author musuni
  9. // @match https://missav.ws/*
  10. // @icon https://www.google.com/s2/favicons?sz=64&domain=hyperts.net
  11. // @grant none
  12. // @license MIT
  13. // ==/UserScript==
  14.  
  15. 'use strict'
  16.  
  17. const getStackTrace = () => {
  18. const obj = {}
  19. Error.captureStackTrace(obj, getStackTrace)
  20. return obj.stack
  21. }
  22.  
  23. const pausedByUser = (stackTrace) => {
  24. return stackTrace.includes('at wt.togglePlay')
  25. }
  26.  
  27. const sleep = ms => {
  28. return new Promise(resolve => setTimeout(resolve, ms))
  29. }
  30.  
  31. const waitUntilPlayerLoaded = async () => {
  32. while (!window.player || !window.player.pause) {
  33. console.log('[Continue playing MISSAV] Player is not loaded yet...')
  34. await sleep(1000)
  35. }
  36. console.log('[Continue playing MISSAV] Player is loaded!')
  37. }
  38.  
  39. waitUntilPlayerLoaded().then(() => {
  40. window.player.pause = () => {
  41. if (pausedByUser(getStackTrace())) {
  42. window.player.media.pause()
  43. }
  44. }
  45. })