Public feed #890940

Untitled

public javascript v1 · immutable
Raw Edit
·published 2008-02-04 05:45 UTC
rendered paste body
/**javascript console***/function LOG(msg) {  var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);  consoleService.logStringMessage(msg);  }function aPlaya(page){	var dUrl = page.URL;	function iCanHazTubes(fv, vidID, pD){		function handleErr(msg,url,l){			return true;					}			onerror=handleErr;		//to get around the lack of same-domain restriction in extensions		var sGetter = page.createElement('script');		sGetter.type = "text/javascript";		sGetter.innerHTML = "try{"+							"var vidID1 = document.URL.split('v=')[1].split('&')[0];"+							"var gM = document.getElementById('movie_player');"+							"var getMp1 = gM.getAttribute('flashvars');"+							"var srcWithT = 'http://'+document.domain+'/get_video?video_id='+vidID1+'&t='+getMp1.split('t=')[1].split('&')[0];"+							"var httpRequest = new XMLHttpRequest();"+							"httpRequest.onreadystatechange = function() { "+							"	if(httpRequest.readyState == 4 && httpRequest.status == 303){"+							"				var respHed = httpRequest.getResponseHeader('Location');"+							"				if(respHed.indexOf('cache.googlevideo.com') > -1){"+							"					respHed = 'http://'+httpRequest.getResponseHeader('Location').split('&origin=')[1]+'/get_video?video_id='+vidID1;"+							"				}"+							"				var spanna = document.createElement('span');"+							"				spanna.id = 'spannaResphead';"+							"				spanna.style.visibility = 'hidden';"+							"				spanna.textContent = respHed;"+							"				document.getElementsByTagName('body')[0].appendChild(spanna);"+							"	}"+							"};"+							"httpRequest.open('HEAD', srcWithT, true);"+							"httpRequest.send(null);"+							"}"+							"catch (err){"+							"}";				page.getElementsByTagName('body')[0].appendChild(sGetter);		var srcWithT = 'http://www.youtube.com/get_video?video_id='+vidID+'&t='+fv.split("t=")[1].split("&")[0];				var loaderThere;				function timedCount(){					var iCanHazSpanna = page.getElementById('spannaResphead');			if( ( iCanHazSpanna && page.getElementById('tempLoader') )== null){							pD.innerHTML = '<div id="tempLoader" style="position:relative;width:480px;height:395px;"><p style="position:relative;top:50%;left:40%;font-weight:bold;">Loading FlowPlayer &nbsp; '+								'<img style="position:relative;" src="chrome://youtubealternateplayer/content/loader.gif" /></p></div>';										loaderThere = true;							window.setTimeout(timedCount,5);						}			else if( ( iCanHazSpanna == null) && loaderThere){							window.setTimeout(timedCount,5);						}			else if(iCanHazSpanna){							var spanTex = iCanHazSpanna.textContent;								//var fileObj = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);				var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile); 				var sPath = encodeURI('file:///'+file.path.replace(/\\/g, "/")+'/youtubealternateplayer@forboden/chrome/content/FlowPlayer.swf');								//fileObj.initWithPath("c:\\FlowPlayer.swf");				LOG(sPath);				pD.innerHTML = '';				var e = page.createElement('embed');				e.src = sPath;				pD.appendChild(e);					}		}		timedCount();																										}  //end of: function icanhaztubes		var vidID;		if(dUrl.match('youtube.com/watch?')){		var getMp = page.getElementById('movie_player');		var getwPlayerVars = getMp.getAttribute('flashvars');		vidID = dUrl.split("v=")[1].split("&")[0];		iCanHazTubes(getwPlayerVars, vidID, getMp.parentNode);			}	else if( dUrl.match('youtube.com/user/') ){			var xE = content.document.evaluate( "/html/body/div[@id='baseDiv']/div[3]/div[2]/div[1]/object/embed", content.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;			vidID = xE.src.split("video_id=")[1].split("&")[0];				iCanHazTubes(xE.src, vidID, xE.parentNode);		}			}  //end of: function aPlaya(page){var appcontent = document.getElementById("appcontent");if (appcontent){	appcontent.addEventListener("DOMContentLoaded", function (event) { 		aPlaya(event.target); 	}, false);}