Adds a 'Stop Video' button below the video
// ==UserScript==
// @name YouTube - Add "Stop Video" Button
// @namespace https://greasyfork.org/en/users/321-joesimmons
// @description Adds a 'Stop Video' button below the video
// @include http://*.youtube.com/watch*v=*
// @include https://*.youtube.com/watch*v=*
// @include http://youtube.com/watch*v=*
// @include https://youtube.com/watch*v=*
// @include http://youtube.com/user/*
// @include https://youtube.com/user/*
// @include http://youtube.com/channel/*
// @include https://youtube.com/channel/*
// @include http://*.youtube.com/user/*
// @include https://*.youtube.com/user/*
// @include http://*.youtube.com/channel/*
// @include https://*.youtube.com/channel/*
// @copyright JoeSimmons
// @version 1.1.0
// @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html
// @require https://greasyfork.org/scripts/2104-youtube-button-container-require/code/YouTube%20-%20Button%20Container%20(@require).js?version=5493
// @grant GM_addStyle
// ==/UserScript==
/* CHANGELOG
1.1.0 (12/13/2013)
- changed license to GPLv3
1.0.9 (12/13/2013)
- started using my new @require for adding buttons to the page
1.0.8 (12/11/2013)
- started adding the stop button to a div under the movie player
so other scripts can use that space to add buttons to also
1.0.7 (11/23/2013)
- fixed something I missed in 1.0.6
1.0.6 (11/23/2013)
- adapted to site change
1.0.5 (9/6/2013)
- made it work on user/channel pages
1.0.4 (9/1/2013)
- made it support the YouTube 'red bar' feature
1.0.3 (8/31/2013)
- included https pages
1.0.2 (8/30/2013)
- now supports native Chrome & Opera
1.0.1
- made it more cross-browser compatible
1.0.0
- created
*/
(function () {
'use strict';
var verif = /youtube\.com\/((watch\?[a-zA-Z]+=)|(user|channel))/,
button_id = 'movie_stop_button';
function run(t) {
var s = document.createElement('script');
s.innerHTML = t;
document.body.appendChild(s);
document.body.removeChild(s);
}
function stopVideo() {
run('' +
'(function () {' +
'var player = document.querySelector("#c4-player, #movie_player");' +
'if (player.stopVideo) {' +
'player.stopVideo();' +
'} else if (player.pauseVideo) {' +
'player.pauseVideo();' +
'} else if (player.pause) {' +
'player.pause();' +
'}' +
'}());' +
'');
}
function addButton() {
var button = document.getElementById(button_id);
if (button == null) {
addButtonToContainer('Stop Video', stopVideo, button_id);
}
}
// make sure the page is not in a frame
if (window !== window.top) { return; }
window.setInterval(addButton, 1000);
}());