Disable SPF Youtube

Disables red bar aka SPF on youtube

Od 08.02.2016.. Pogledajte najnovija verzija.

// ==UserScript==
// @author mkdante381
// @name Disable SPF Youtube
// @description Disables red bar aka SPF on youtube
// @homepageURL https://greasyfork.org/scripts/16935
//
// @icon        data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEABAAEAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAAiADADAREAAhEBAxEB/8QAGwAAAwACAwAAAAAAAAAAAAAABAUGAAMBAgf/xAA1EAABAwIEAgcGBgMAAAAAAAABAgMEBREABhIhEzEUQVFxgZGhFiIjMlKiFTRhc5Kxo7LR/8QAGgEAAgMBAQAAAAAAAAAAAAAAAwQBAgUABv/EADIRAAEDAgIHBgUFAAAAAAAAAAEAAgMRIQQxBRJBUWGRoRNxgbHR8DNyssHhFCMyQuL/2gAMAwEAAhEDEQA/AGObc11GXWpMWLNeixIrhaCWVlsrUnZRJG/O4te1gMZs0zi8gGgC9lo7R8LIGve0FzhW988lPoqcp1eldUnLP0okLUT92Aa5O0rTMDAKhjeQ9EzYbqOkOppFaeBF9ciU6GrdtwlH+2CDWzoffJJvdDWhkYO4CvUnyW5qu1Wmj4KqXEVuOIl/pKx/kcI8sT2jm5UHX7lUdhIJv5azuFNUfS0dUO9m7MbwKV1l0jtbbQi/iEg4qZ5DtRG6OwbbiMeNT9ymWU82VKPW48WdNdlRZTgbIeVrUhStkkE787C3LfBIZnBwBNQUrpHR8L4HPjaA5ora1hn0Q1YzMX6nL4NFpDZDq08VyIHHVWJFyTtc27MVklq40aOSLhsDqxN1pHGwsHUHvxQD2Za480G1VV9tCeSWNLIH8AMUMrztTLcDhmmoYCeN/OqcUHKPtRTJUqY9JanIes0+/dYWnSk2IVuRcncHrwWOHtWknNI4vSP6KVrIwC0i4Ftp3JXU8rVejkqmMNIYSQOkB1PDPnY+mBvhezNOQY/D4j4ZNd1DX06oAR44Pv1GPbrDbbqj6oA9cUoN/mmNd+xh5j1J6Iylikt1aGpyTPc0yWyAmK2gX1C2/EUbXt1YszUDhc8vygT9uYXgNaLHaTs+UeayqU5EeqzEOVSACJDlrKcWfmJsdCFWPVvjnto43CmCcuiYQx2Q3DZxIQYTHaIKZzpX2sMG3mpST6YpYbUar3ZtHifQHzVVlLM9Ly7RpgeLzjzknUhpKffX7qRfsSO89uGoZWxtNVj6RwM+LmZq0AAz2C58TyS+tZ3qtZbUxobiRVc22lK1KFuSlgi457WA33vgcmIe+2QTOF0VBhzrV1nbzToLqcUtIIBUkE8hywBagBTWkUWqzahEUxTpRb4yFF1TSkoACgSdR25DBGRvJFAk8RioI43BzxWhtW+W5d82QHKVmWah4aUSHVPtLOwWlR1G3cSR4YmZpa81UaOmE+GYW5gAHwt1SdLjKlWVIab/AFWTb0BOBWTxa4CwJ98UwjQmHiNLdUln6IsOwV3LJJ+zFw0HefD35JWSVzcy1ve77UH1Inob0ZsO+zCm0oO7lUdcA/tpPpi+qR/Xn7CF2rXmnb14MA/2eq4RmWqRFqEEwqff5uhxWkg+NjfzxHavGVB3AKTgYJB+5V3zE/hG5Zm1ys5niN/ik5xDbgdf+MrQEJ3sUjbf5eXXi8TpHyC5S+OiwuHwrjqAVFBYVqeOds16q8wzIRoeaQ6m99K0gi/jjSIBzXjWvc01aaLGmWmE6WmkNjsQkAY4ADJc5znXcarXO/ISP21f1iHZFWi+I3vUYxR6W4tSl02Iok3JUwk39MKBjdy3nYmcCzzzKaQsv0VYGqjwFd8ZH/MEbGzcEpLjMSMpHcyqCJDiwWeDDjMx2730NICBfuGGA0NFAFmSSvkdrPcSeN1//9k=
//
// @domain      youtube.com
// @domain      www.youtube.com
// @domain      gdata.youtube.com
// @domain      apis.google.com
// @domain      plus.googleapis.com
// @domain      googleapis.com
// @domain      raw.github.com
// @domain      raw2.github.com
// @domain      raw.githubusercontent.com
// @domain      s.ytimg.com
// @match       *://*.youtube.com/*
// @match       *://*.googlevideo.com/*
// @match       *://s.ytimg.com/yts/jsbin/*
// @include     http://www.youtube.com/watch*
// @include     https://www.youtube.com/watch*
// @include     *://www.youtube.com/*
// @include     *://*googlevideo.com/*
// @include     *googlevideo.com/*
// @include     http*://*.googlevideo.com/*
// @include     http*://*---*.googlevideo.com/*
// @include     http*://*s.ytimg*
// @include     http*://*s.img*
// @include     http*://s.ytimg*
// @include     http*://s.img*
// @version     1.0
// @grant       unsafeWindow
// @run-at      document-start
// @namespace https://greasyfork.org/users/9905
// ==/UserScript==

// Ensure unsafeWindow object is available both in firefox and chrome
//
// Props Anon via YouTube Cinema Mode userscript
// https://greasyfork.org/en/scripts/10417-youtube-cinema-mode
function installUnsafewindowPolyfill()
{
	if (typeof unsafeWindow === 'undefined')
	{
		if (typeof XPCNativeWrapper === 'function' && typeof XPCNativeWrapper.unwrap === 'function')
			unsafeWindow = XPCNativeWrapper.unwrap(window);
		else if (window.wrappedJSObject)
			unsafeWindow = window.wrappedJSObject;
	}
}

// Disable SPF (Structured Page Fragments), which prevents properly attaching to page load events when navigation occurs 
// Will also disable the red loading bar.
//
// Props Anon via YouTube Cinema Mode userscript
// https://greasyfork.org/en/scripts/10417-youtube-cinema-mode
function disableSPF()
{
	if (unsafeWindow._spf_state && unsafeWindow._spf_state.config)
	{
		unsafeWindow._spf_state.config['navigate-limit'] = 0;
		unsafeWindow._spf_state.config['navigate-part-received-callback'] = function (targetUrl) { location.href = targetUrl; }
	}
	
	setTimeout(disableSPF, 50);
}

/** TIME FOR SOME ACTION! **/

// get rid of SPF
installUnsafewindowPolyfill();
disableSPF();