Google Video Youtube Player

Autoplay youtube videos "www.google./video" in little popup next to the link on mouse over; To proper working please disable dynamic search in google settings and switch off all yours "Youtube autoplay OFF";

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name          	Google Video Youtube Player
// @namespace     	http://www.webmonkey.com
// @description   	Autoplay youtube videos "www.google./video" in little popup next to the link on mouse over; To proper working please disable dynamic search in google settings and switch off all yours "Youtube autoplay OFF";
// @include     	*www.google.*
// @exclude 		*plus.google*
// @version         1.0.2.1
// ==/UserScript==


var _video =null;
var _lastYoutubeLink =null;
var _button =null;

var _absoluteMouseX;
var _absoluteMouseY;

var __frameWidth  =440;
var __frameHeight =260;
var __frameDealey =1200;


(
function()
{
	var _linkList = document.getElementsByTagName('a');
	var _linkFirst;
	
	var _mouseDownElements =0;
	var window1;

	var _httpGoogle  ="http://www.youtube.";
	var _httpsGoogle ="https://www.youtube.";

	
	if((
			window.location.href.match("www.google.") &&
			window.location.href.match("&tbm=vid") &&
			//window.location.href.match("&newwindow=1") &&
			true
		) ==false )
	{
		return;
	}
	
	
	_video = createVideoPopup();
	
	
	for(var i=0; i< _linkList.length; i++)
	{
		var _link = _linkList[i];
		
		var _onmousedown = _link.getAttribute('OnMouseDown');
		var _href = _link.getAttribute("href");
					
		if( _onmousedown &&
			_href &&
			( _href.match(_httpGoogle) || _href.match(_httpsGoogle) )
		)
		{
			_mouseDownElements++;
			
			if( _linkFirst ==null )
				_linkFirst = _link;
				
			_link.removeAttribute('onMouseDown');
				
			//_link.addEventListener("mouseover",
				//"funcDealey = setTimeout('showAlert()', 100)"
				/*function(event)
				{
					_absoluteMouseX = event.pageX;
					_absoluteMouseY = event.pageY;
					
					playVideo(_video, this.href);
				}*/
				
				/* function(event)
				{
					setTimeout(
						function(event)
						{
							_absoluteMouseX = event.pageX;
							_absoluteMouseY = event.pageY;
							
							playVideo(_video, this.href);
						}
						,1000)
				} */
			//);
			
			
			_link.onmouseover = function(event)
			{
				var _this_link = this;
				var delay = setTimeout(
					//function(){ showAlert(); }
					function() { playVideo(event, _this_link.href); }
					, __frameDealey);
					
				_this_link.onmouseout = function()
				{
					clearTimeout(delay);
					stopVideo();
				};
			}
			
			/* 
			_link.addEventListener("mouseout",
				//"clearTimeout(funcDelay)"
				function(event)
				{
					clearTimeout(funcDelay);
					
					stopVideo(_video);
				}
			); */
		}
	}

	
	if( _mouseDownElements >0 )
	{
		_button 		= document.createElement("input");
		_button.type 		="button";
		/* _button.value 	="Found <a> OnMouseDown =" +_mouseDownElements; */
		_button.value 	= 'videos [' +_mouseDownElements +'] :: first [' +_linkFirst.getAttribute('href') +']';
		//_button.value 	= window.location.href.substr(0, 30);
		/* _button.href 		=_linkFirst.getAttribute('href'); */
		/* _button.href 		=document.href; */
		/* _button.onclick 		=showAlert; */
		/* _button.onclick 		=window.location.href =_button.href; */
		/* _button.onclick 		=followLink; */
		/* _button.onmouseover 	=showAlert; */
		/* _button.setAttribute('onClick', 'window.location.href ="' +_linkFirst +'"'); */
		/* _button.setAttribute('onClick', 'openLink;'); */
		/* _button.setAttribute('onMouseOver', 'window.open("' +_linkFirst.getAttribute('href') +'")'); */
		_button.setAttribute('style', 'font-size:12px; position:absolute; top:150px; left:135px; visibility:hidden');
		
		//add event listener
		_button.addEventListener("click",
			function(event) {
				/* window.location.href ='Students.html'; */
				/* window.open( _button.href ); */
				/* alert('follow link  "' +_button.href +'"'); */
				/* followLink(_button.href); */
				playVideo(_video, this.href);
			}
		);
		
		_button.addEventListener("mouseover",
			function(event) {
				/* window.location.href ='Students.html'; */
				/* window.open( _button.href ); */
				/* alert('follow link  "' +_button.href +'"'); */
				/* followLink(_button.href); */
				playVideo(_video, this.href);
			}
		);
		
		_button.addEventListener("mouseout",
			function(event) {
				/* window.location.href ='Students.html'; */
				/* alert('follow link  "' +_button.href +'"'); */
				/* closeOldWindow(); */
				stopVideo(_video);
			}
		);
		
		document.body.appendChild(_button);
	}
}
)();

function openLink(aLink)
{
    alert('follow link  "' +aLink +'"');
	window.location.href = aLink;
}

function followLink(x)
{
    //alert('follow link  "' +x +'"');
	
	closeOldWindow();
    /* window1 = window.open(document.documentURI + x.getAttribute('href')); */
	window1 = window.open(x);
	/* window1.showModalDialog(); */
}

function showAlert()
{
    alert("Hello World");
}

function closeOldWindow()
{
	if (window1)
		window1.close();
}

function createVideoPopup()
{
	var _video 		=document.createElement("iframe");
	_video.type 	="text/html";
	/* _video.class	="youtube-player"; */
	_video.title	="youtube";
	_video.width	= __frameWidth;
	_video.height	= __frameHeight;
	_video.frameborder ='0';
	_video.scrolling ='no';
	_video.allowfullscreen ='0';
	/* _video.setAttribute('style', 'position:fixed; top:150px; right:10px; visibility:display'); */
	_video.setAttribute('style', 'visibility:hidden;');
	
	document.body.appendChild(_video);
		
	return _video;
}

function playVideo(event, aLink)
{
	_absoluteMouseX = event.pageX;
	_absoluteMouseY = event.pageY;
	
	var _href = aLink;
	// auto odtwarzanie
	_href +='?autoplay=1';
	// przyciski
	_href +='&autohide=1';
	// podobne filmy po zakończeniu odtwarzania
	_href +='&rel=0';
	// wyłączenie trybu pełnoekranowego
	_href +='&fs=0';
	
	_button.value = '[' +_absoluteMouseX +'; ' +_absoluteMouseY +']';
	
	if( _lastYoutubeLink !=null && _lastYoutubeLink == aLink )
		return;
	  
	_lastYoutubeLink = aLink
	
	
	var _posRight =5;
	var _posTop = _absoluteMouseY - __frameHeight/2;
	if( _posTop <125 )
		_posTop =125;
	
	var _posType ='absolute';
	
	
	_video.src = _href.replace("/watch?v=", "/embed/");
	/* _video.setAttribute('style', 'position:fixed; top:120px; right:5px; visibility:display'); */
	_video.setAttribute('style', 'position:' +_posType +'; top:' +_posTop +'px; right:' +_posRight +'px; visibility:display');
	_video.contentWindow.postMessage('{"event":"command","func":"' + 'playVideo' + '","args":""}', '*');
	
	/* _button.value = _video.src; */
	_button.value = '[' +_absoluteMouseX +'; ' +_absoluteMouseY +']';
	/* _button.setAttribute('style', 'visibility:hidden'); */
	
	//_video.play();
}

function stopVideo()
{
	_button.value =":: <PAUSE> ::";
	
	/* _video.setAttribute('style', 'visibility:hidden'); */
	_video.contentWindow.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
	/* toggleVideo('hide'); */
	/* _video.pause(); */
}

function toggleVideo(state)
{
    // if state == 'hide', hide. Else: show video
    /* var div = _video;
    var iframe = div.getElementsByTagName("iframe")[0].contentWindow;
    div.style.display = state == 'hide' ? 'none' : ''; */
    /* func = state == 'hide' ? 'pauseVideo' : 'playVideo'; */
	
    _video.contentWindow.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
}