Refresh Unavailable

Auto refresh when pages are unavailable

Versión del día 04/11/2016. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name        Refresh Unavailable
// @namespace   iFantz7E.RefreshUnavailable
// @description Auto refresh when pages are unavailable
// @include     *
// @version     1.01
// @grant       none
// @run-at      document-start
// @copyright   2016, 7-elephant
// ==/UserScript==

function attachOnLoad(callback)
{
	window.addEventListener("load", function (e) 
	{
		callback();
	});
}

function attachOnReady(callback) 
{
	document.addEventListener("DOMContentLoaded", function (e) 
	{
		callback();
	});
}

function reload()
{
	var curHref = window.location.href;
	var posHashtag = curHref.indexOf("#");
	if (posHashtag > -1)
	{
		window.location = curHref.substr(0, posHashtag);
	}
	else
	{
		window.location = curHref;
	}
}

function ready()
{
	var child = document.body.firstChild;
	if (child.nodeType === 3 && child.textContent === "Service unavailable")
	{
		console.log("Autorefresh: Service unavailable");
		setTimeout(reload, 3000);
	}
}

attachOnReady(function()
{
	ready();
});