极客时间视频播放优化

try to take over the world!

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         极客时间视频播放优化
// @namespace    Yx
// @version      1.4
// @description  try to take over the world!
// @icon         http://tvax4.sinaimg.cn/crop.0.0.996.996.180/006d9cayly8fpqt30cr2ej30ro0ro74u.jpg?Expires=1563811579&ssig=kCwD4wCfuy&KID=imgbed,tva
// @author       Yx_Zou
// @include      https://time.geekbang.org/course/detail/*
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
	'use strict';
	// 阻塞时间
	let time = 3000;
	// 初始赋值
	// 右键一次加时间(s)
	let addTime = -5;
	// 左键一次减时间(s)
	let lessTime = -5;
	window.onload = function() {
		setTimeout(function() {
			let dVideo = document.getElementsByTagName('video')[0];
			document.getElementsByClassName('_3JVQc9Vz_0')[0].addEventListener('click', dVideoUpdate);
			function dVideoUpdate() {
				setTimeout(function() {
					if (dVideo != document.getElementsByTagName('video')[0]) {
						dVideo = document.getElementsByTagName('video')[0];
					}
				}, 3000);
			}
			document.onkeydown = function(event) {
				let e = event || window.event;
				if (e && e.keyCode == 37) {
					//左
					console.log('左');
					dVideo.currentTime = dVideo.currentTime - lessTime < 0 ? 0 : dVideo.currentTime - lessTime;
				}
				if (e && e.keyCode == 39) {
					//右
					console.log('右');
					dVideo.currentTime =
						dVideo.currentTime + addTime > dVideo.duration ? dVideo.duration : dVideo.currentTime + addTime;
				}
			};
		}, time);
	};
})();