Youtube entancer of mine

Some of youtube entancer of mine

目前为 2020-06-21 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Youtube entancer of mine
  3. // @namespace http://www.chaochaogege.com
  4. // @version 0.7
  5. // @description Some of youtube entancer of mine
  6. // @author You
  7. // @match https://www.youtube.com/watch?*
  8. // @grant none
  9. // @require https://greasyfork.org/scripts/402597-monitor-dom-change/code/monitor%20dom%20change.js?version=801281
  10. // @run-at document-end
  11. // ==/UserScript==
  12.  
  13. !function youtubeofmine() {
  14. const over = document.querySelector('body')
  15. let container = document.querySelector('.html5-video-player')
  16. if (!container) {
  17. setTimeout(() => youtubeofmine(), 0)
  18. return
  19. }
  20. function start() {
  21. // const subtitlesdiv = document.querySelector('.caption-window')
  22. function addMultipleListener(target, events, fn, useCapture) {
  23. for (const e of events) {
  24. target.addEventListener(e, fn, useCapture)
  25. }
  26. }
  27. addMultipleListener(container, ['click', 'touchstart', 'mouseout', 'mousedown', 'mousemove'], e => {
  28. for (let idx = 0; idx < 5; idx++) {
  29. if (e.path[idx].className.includes('caption-window')) {
  30. e.stopPropagation()
  31. return
  32. }
  33. }
  34. }, true)
  35. monitordom(over, (lists) => {
  36. if (lists.addedNodes.length > 0) {
  37. const n = lists.addedNodes[0]
  38. if (typeof n.className == 'string') {
  39. if (n.className.includes('ytp-caption-segment')) {
  40. let stylelists = n.style
  41. stylelists['user-select'] = 'text'
  42. }
  43. }
  44. }
  45. }, { attributes: true, childList: true, subtree: true })
  46. }
  47. start()
  48. }()