Greasy Fork

Greasy Fork is available in English.

超星键盘控制优化

优化超星键盘控制观看体验

当前为 2021-06-13 提交的版本,查看 最新版本

// ==UserScript==
// @name         超星键盘控制优化
// @namespace    http://greasyfork.icu/zh-CN/users/782923-aaaasea
// @version      1.0
// @description  优化超星键盘控制观看体验
// @author       Asea
// @match        https://mooc1-1.chaoxing.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  // setTimeout(5000)
  window.onload = function()
  {
    console.log('开始绑定')
  //reurn false 禁止函数内部执行其他的事件或者
    var vol = 0.1;  //1代表100%音量,每次增减0.1
    var time = 5; //单位秒,每次增减10秒
    var rate = 0.2
    var videoElement = document.getElementById("iframe").contentWindow.document.querySelector("iframe").contentWindow.document.querySelector('video')
    // console.log('变量设置完毕')
    videoElement.onkeyup = function (event) {//键盘事件
    // console.log("keyCode:" + event.keyCode);
    var e = event || window.event || arguments.callee.caller.arguments[0];

    //鼠标上下键控制视频音量
    if (e && e.keyCode === 38) {

        // 按 向上键
        videoElement.volume !== 1 ? videoElement.volume += vol : 1;
        return false;

    } else if (e && e.keyCode === 40) {

        // 按 向下键
        videoElement.volume !== 0 ? videoElement.volume -= vol : 1;
        return false;

    } else if (e && e.keyCode === 37) {

        // 按 向左键
        videoElement.currentTime !== 0 ? videoElement.currentTime -= time : 1;
        return false;

    } else if (e && e.keyCode === 39) {

        // 按 向右键
        videoElement.volume !== videoElement.duration ? videoElement.currentTime += time : 1;
        return false;

    } else if (e && e.keyCode === 32) {

        // 按空格键 判断当前是否暂停
        videoElement.paused === true ? videoElement.play() : videoElement.pause();
        return false;
    } else if(e && e.keyCode === 187) {

      videoElement.playbackRate > 0 && videoElement.playbackRate < 16 ? videoElement.playbackRate = (videoElement.playbackRate+rate).toFixed(1) : 1;
      return false;

    } else if(e && e.keyCode === 189) {

      videoElement.playbackRate > 0 ? videoElement.playbackRate = (videoElement.playbackRate-rate).toFixed(1) : 1;
      return false;
      
    }
    
    };
    console.log('绑定成功')
  }
  
})();