阿里云盘多倍速播放

阿里云视频倍速播放增加了额外倍速的选择,增加的方式是在原有的倍速播放样式基础上增加,保证使用方便及样式统一

  1. // ==UserScript==
  2. // @name 阿里云盘多倍速播放
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description 阿里云视频倍速播放增加了额外倍速的选择,增加的方式是在原有的倍速播放样式基础上增加,保证使用方便及样式统一
  6. // @author wenzheng.li
  7. // @match *://www.aliyundrive.com/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=aliyundrive.com
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. window.addEventListener('load', () => {
  15. const interval = setInterval(() => {
  16. const video = document.querySelector('video')
  17. const ul = document.querySelector('.drawer-list-grid--2S0tk')
  18. const close =
  19. ul.parentElement.parentElement.previousElementSibling.children.item(1)
  20. let firstChild = [...ul.children].find(
  21. (el) => el.firstChild.textContent === '1.5 倍'
  22. )
  23. const rates = ['3', '2.5', '2']
  24. rates.forEach((rate) => {
  25. const cloneNode = firstChild.cloneNode(true)
  26. cloneNode.firstChild.innerHTML = `${rate}倍`
  27. ul.insertBefore(cloneNode, firstChild)
  28. firstChild = cloneNode
  29. })
  30. const backRateNodes = [...ul.children]
  31. const changeSelectColor = (select) => {
  32. setTimeout(() => {
  33. backRateNodes.forEach((item) => {
  34. item.dataset.isCurrent = 'false'
  35. })
  36. if (!select.dataset.isCurrent) {
  37. select.parentElement.dataset.isCurrent = 'true'
  38. } else {
  39. select.dataset.isCurrent = 'true'
  40. }
  41. close.click()
  42. })
  43. }
  44. ul.addEventListener('click', (e) => {
  45. const target = e.target
  46. const PlaybackRate = target.textContent.replace('倍', '')
  47. video.playbackRate = PlaybackRate
  48. changeSelectColor(target)
  49. })
  50.  
  51. if (video) {
  52. clearInterval(interval)
  53. }
  54. }, 1000)
  55. })
  56. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址