🏠 Home 

JWPlayer Force HTML5

Makes JWPlayer think that you don't have the Flash plugin, thus forcing HTML5 mode

// ==UserScript==
// @name        JWPlayer Force HTML5
// @namespace   DoomTay
// @description Makes JWPlayer think that you don't have the Flash plugin, thus forcing HTML5 mode
// @version     1.0.1
// @grant       none
// @include     *
// @exclude     http://roosterteeth.com/*
// @run-at      document-start
// @noframes
// ==/UserScript==
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
for(var i = 0; i < mutation.addedNodes.length; i++)
{
findJWPScript(mutation.addedNodes[i]);
if(typeof window.jwplayer !== 'undefined') break;
}
});
});
for(var i = 0; i < document.scripts.length; i++)
{
findJWPScript(document.scripts[i]);
if(typeof window.jwplayer !== 'undefined') break;
}
function findJWPScript(start)
{
if(start.nodeName == "SCRIPT" && start.src && typeof window.jwplayer === 'undefined')
{
start.addEventListener("load",function()
{
if(typeof window.jwplayer !== 'undefined')
{
observer.disconnect();
if(window.jwplayer.utils.hasFlash) window.jwplayer.utils.hasFlash = function (){return!1};
if(window.jwplayer.utils.isFlashSupported) window.jwplayer.utils.isFlashSupported = function (){return!1};
if(window.jwplayer.utils.flashVersion) window.jwplayer.utils.flashVersion = function (){return 0};
}
});
}
else if(typeof window.jwplayer === 'undefined')
{
for(var i = 0; i < start.childNodes.length; i++)
{
findJWPScript(start.childNodes[i]);
}
}
}
var config = { childList: true, subtree: true };
if(typeof window.jwplayer == 'undefined') observer.observe(document, config);