您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pauses youtube videos when they start
当前为
- // ==UserScript==
- // @name YouTube pauser
- // @namespace http://dannywhittaker.com
- // @version 0.1
- // @description Pauses youtube videos when they start
- // @match https://www.youtube.com/watch*
- // @copyright 2014, You
- // ==/UserScript==
- (function() {
- // Build a worker from an anonymous function body
- var blobURL = URL.createObjectURL(new Blob(['(',
- function() {
- var interval;
- self.addEventListener('message', function(e) {
- switch (e.data) {
- case 'start':
- interval = setInterval(function() {
- self.postMessage('tick');
- }, 100);
- break;
- case 'stop':
- clearInterval(interval);
- break;
- };
- }, false);
- }.toString(),
- ')()'
- ], {
- type: 'application/javascript'
- }));
- var worker = new Worker(blobURL);
- // Won't be needing this anymore
- URL.revokeObjectURL(blobURL);
- var playerReference;
- var start = new Date().getTime();
- var interval = 50;
- function getPlayerReference() {
- if (!playerReference) {
- playerReference = document.getElementById('movie_player');
- }
- return playerReference;
- }
- function windowIsHidden() {
- return document.hidden;
- }
- function clearInterval() {
- worker.postMessage('stop');
- }
- function fnInterval() {
- if (new Date().getTime() - start > 1000 * 10) {
- clearInterval();
- } else if (!windowIsHidden()) {
- clearInterval();
- } else {
- try {
- var ref = getPlayerReference();
- if (ref && ref.pauseVideo) {
- ref.pauseVideo();
- }
- } catch (ex) {}
- }
- }
- worker.addEventListener('message', fnInterval);
- worker.postMessage('start');
- })();