Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name килл по пробелу Better YouTube
- // @namespace feifeihang.info
- // @homepage greasyfork.org/en/scripts/12250-better-youtube
- // @description Перевязайте клавишу пробела для воспроизведения/паузы. Rebind space key for play/pause (no more accidentally scroll down).
- // @include https://youtu.be/*
- // @include http://youtu.be/*
- // @include https://www.youtube.com/*
- // @include http://www.youtube.com/*
- // @version 5.2.5
- // @grant none
- // ==/UserScript==
- (function (window, document, undefined) {
- // найти и сохранить ссылку на видеоплеер./ find and keep a reference of the video player.
- var player;
- var stylePlayer = '';
- var video;
- var videoSize = {
- };
- var controls;
- var controlsWidth;
- // флаг, указывающий на то, что мини-плеер включен /a flag to indicate is the mini player is toggled.
- var isToggled = false;
- var isTogglable = true;
- var originalHeight;
- var s2sBtn;
- var hasAddedMini = false;
- var shouldToggle = false;
- var urlBuffer = '';
- var playBtn;
- window.setInterval(function () {
- if (isToggled &&
- !/^http[sS]*\:\/\/www\.youtube\.com\/watch[?]*/.test(window.location.href) &&
- shouldToggle) {
- turnOff();
- shouldToggle = false;
- window.removeEventListener('keydown', bindSpaceKey, true);
- }
- if (!shouldToggle &&
- /^http[sS]*\:\/\/www\.youtube\.com\/watch[?]*/.test(window.location.href)) {
- if (window.location.href !== urlBuffer) {
- isToggled = false;
- urlBuffer = urlBuffer;
- // bind whitespace key.
- playBtn = document.querySelector('.ytp-play-button');
- if (playBtn) {
- window.addEventListener('keydown', bindSpaceKey, true);
- }
- }
- shouldToggle = true;
- }
- }, 500);
- var intervalId = window.setInterval(function () {
- if (!hasAddedMini &&
- /^http[sS]*\:\/\/www\.youtube\.com\/watch[?]*/.test(window.location.href)) {
- shouldToggle = true;
- player = document.querySelector('#movie_player');
- video = document.querySelector('#movie_player video.video-stream');
- controls = document.querySelector('#movie_player .ytp-chrome-bottom');
- window.addEventListener('scroll', function () {
- if (!isTogglable) {
- return false;
- }
- }, false);
- //добавить переключатель мини-плеера./ add a mini player toggle button.
- var btn = document.createElement('div');
- btn.className += ' yt-uix-button yt-uix-button-size-default yt-uix-button-primary';
- btn.innerHTML = 'Mini: on';
- btn.style = 'line-height: 26px; height: 26px; margin-left: 5px;';
- btn.onclick = function () {
- if (this.innerHTML === 'Mini: on') {
- this.innerHTML = 'Mini: off';
- isTogglable = false;
- if (isToggled) {
- turnOff();
- }
- }
- else {
- this.innerHTML = 'Mini: on';
- gotoMini();
- isTogglable = true;
- }
- }
- var dom = document.querySelector('#yt-masthead-signin') ||
- document.querySelector('#yt-masthead-user');
- dom.appendChild(btn);
- hasAddedMini = true;
- window.clearInterval(intervalId);
- }
- }, 500);
- function bindSpaceKey(evt) {
- var inputs = document.querySelectorAll('input[type=text], textarea, div.yt-simplebox-text');
- inputs = Array.prototype.slice.apply(inputs);
- if (inputs.indexOf(document.activeElement) === - 1 && evt.keyCode === 32) {
- evt.preventDefault();
- playBtn.click();
- }
- }
- function turnOff() {
- if (document.querySelector('.ytp-size-button')) {
- document.querySelector('.ytp-size-button').style.display = 'inline-block';
- }
- }
- }) (window, document);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement