Greasy Fork is available in English.

Video.mediaset.it native video player and direct links

This script allows you to watch and download videos on Video Mediaset.

Fra og med 29.09.2015. Se Den nyeste version.

// ==UserScript==
// @name        Video.mediaset.it native video player and direct links
// @namespace   http://andrealazzarotto.com
// @description This script allows you to watch and download videos on Video Mediaset.
// @include     http://www.video.mediaset.it/video/*
// @include     http://www.video.mediaset.it/player/playerIFrame*
// @version     5.4
// @require     http://code.jquery.com/jquery-latest.min.js
// @grant       GM_xmlhttpRequest
// @license     GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html
// ==/UserScript==

var boxStyle = function(selector, color) {
	$(selector).css({
		'padding': '.5em',
		'margin': '1em 4em',
		'border': '1px solid #888',
		'text-align': 'center',
		'background-color': color,
		'box-shadow': '0 .5em 1.5em 0 rgba(0, 0, 0, .7)',
	});
}

// wrapper for non-Mozilla browsers
if(!exportFunction) var exportFunction = function(a,b) {return a;};

$(document).ready(function(){
	if(!unsafeWindow.Silverlight.isInstalled())
		unsafeWindow.CDN_SELECTOR_URL = "http://video.lazza.dk/vd.php?id=";

	// kill ads
	unsafeWindow.adsEnabled = false;
	
	// load screenfull library
	$.getScript("http://cdn.rawgit.com/sindresorhus/screenfull.js/gh-pages/dist/screenfull.min.js");
	
	var isIframe = (window.location.href.indexOf("playerIFrame") > 0);
	var id = (unsafeWindow.videoMetadataId) || 0;
	if (!id) {
		if(isIframe)
			id = window.location.href.split("id=")[1].split("&")[0];
		else {
			var chunks = window.location.pathname.replace(/[\._]/g, "/").split("/");
			for (var i in chunks) {
				id = chunks[i];
				if(!!parseInt(id) && id.length > 4)
					break;
			}
		}
	}
	
	GM_xmlhttpRequest({
		method: 'GET',
		url: 'http://video.lazza.dk/vd.php?id='+id,
		headers: {
			'Accept': 'application/atom+xml,application/xml,text/xml'
		},
		onload: function(responseDetails) {
			var r = responseDetails.responseText;
			var doc = $.parseXML(r);
			$xml = $( doc );
			var videos = $xml.find("video");
			var vlinks = [];
			
			// parse video URLs
			videos.each(function (i) {
				var url = $( videos.get(i) ).attr("src");
				var type = url.slice(-3);
				var name = "";
				switch(type) {
					case "est": name = "Smooth streaming"; break;
					case "pl)": name = "Apple streaming"; break;
					case "flv": name = "Video FLV"; break;
					case "f4v": name = "Video F4V"; break;
					case "mp4": name = "Video MP4"; break;
					case "wmv": name = "Video WMV"; break;
				}
				vlinks.push( { na: name, url: url } );
			});
			
			// display video URLs
			num = vlinks.length;
			
			if(isIframe)
				$('<div id="video-links">').appendTo('body');
			else
				$('<div id="video-links">').appendTo('#box-apertura');
			boxStyle('#video-links', '#cfc');
			for(var i=0; i<num; i++) {
				var o = vlinks[i];
				var s = '<a href="'+o.url+'">'+o.na+'</a>';
				$(s).appendTo('#video-links');
				if(i!=num-1)
					$('<span>&nbsp;|&nbsp;</span>').css('color','#888').appendTo('#video-links');
			}
			
			if(isIframe) {
				$('#video-links').css({
					'position': 'absolute',
					'bottom': '1.5em',
					'left': '10%',
					'right': '10%',
					'font-size': '.75em',
					'z-index': '9999'
				})
				.append("<span id='close'>&times;</span>");
				$("#close").css({
					'font-weight': 'bold',
					'color': '#777',
					'position': 'absolute',
					'right': '1em',
					'cursor': 'pointer'
				}).click(function() {
					$("#video-links").fadeOut();
				});
			}
			
			$("#spinner").remove();
			
			unsafeWindow.count = 0;
			setTimeout(function() {
				unsafeWindow.count++;
				if((unsafeWindow.myPlayer != null)) {
					unsafeWindow.myPlayer.wwww = $("#myVideoContainer").css('width');
					unsafeWindow.myPlayer.hhhh = $("#myVideoContainer").css('height');
					
					unsafeWindow.myPlayer.mediaPlugin.player.controlStripPlugin.enterFullScreen = exportFunction(function() {
						unsafeWindow.screenfull.request($("#myVideoContainer")[0]);
						$("#myVideoContainer").addClass("pf-full-browser");
						$("#myVideoContainer, #myVideoContainer video").css({
							'width': '100%',
							'height': '100%',
							'cursor': 'none'
						});
					}, unsafeWindow);
					unsafeWindow.myPlayer.mediaPlugin.player.controlStripPlugin.exitFullScreen = exportFunction(function() {
						unsafeWindow.screenfull.exit($("#myVideoContainer")[0]);
						$("#myVideoContainer").removeClass("pf-full-browser");
						$("#myVideoContainer, #myVideoContainer video").css({
							'width': unsafeWindow.myPlayer.wwww,
							'height': unsafeWindow.myPlayer.hhhh,
							'cursor': 'auto'
						});
					}, unsafeWindow);
					
					$("#myVideoContainer .pf-controls").css('cursor', 'default');
				}
				else {
					if(unsafeWindow.count < 20)
						setTimeout(arguments.callee, 500);
				}
			}, 500);
			
		}
	});
});