Add 1.75x and 4x Speed Options

Add 1.75x and 4x speed options to Bilibili video player

  1. // ==UserScript==
  2. // @name Add 1.75x and 4x Speed Options
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1
  5. // @description Add 1.75x and 4x speed options to Bilibili video player
  6. // @author AidenLu
  7. // @match https://www.bilibili.com/video/*
  8. // @grant none
  9. // @license AGPL License
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. let optionAdded = false;
  16. let intervalId;
  17.  
  18. function addSpeedOption() {
  19. let menu = document.querySelector('.bpx-player-ctrl-playbackrate-menu');
  20. console.log('Finding playback menu:', menu);
  21.  
  22. if (menu && !optionAdded) {
  23. // Add 1.75x option
  24. let newItem1_75x = document.createElement('li');
  25. newItem1_75x.className = 'bpx-player-ctrl-playbackrate-menu-item';
  26. newItem1_75x.setAttribute('data-value', '1.75');
  27. newItem1_75x.textContent = '1.75x';
  28.  
  29. // Add 4x option
  30. let newItem4x = document.createElement('li');
  31. newItem4x.className = 'bpx-player-ctrl-playbackrate-menu-item';
  32. newItem4x.setAttribute('data-value', '4');
  33. newItem4x.textContent = '4x';
  34.  
  35. let item2x = menu.querySelector('[data-value="2"]');
  36. let item1_5x = menu.querySelector('[data-value="1.5"]');
  37.  
  38. if (item2x && item1_5x) {
  39. // Insert 4x option above 2x
  40. menu.insertBefore(newItem4x, item2x);
  41. // Insert 1.75x option between 2x and 1.5x
  42. menu.insertBefore(newItem1_75x, item1_5x);
  43. console.log('4x and 1.75x options added.');
  44.  
  45. optionAdded = true;
  46. clearInterval(intervalId);
  47. }
  48. }
  49. }
  50.  
  51. window.addEventListener('load', () => {
  52. addSpeedOption();
  53. intervalId = setInterval(addSpeedOption, 1000);
  54. });
  55. })();

QingJ © 2025

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