Skip shit
// ==UserScript==
// @name CPV Link Skipper
// @author .
// @description Skip shit
// @license ISC http://opensource.org/licenses/ISC
// @version 0.61
// @grant unsafeWindow
// @include *shr77.com/*
// @include *utm_source=CPVLINK&utm_medium=interstitial*
// @namespace https://greasyfork.org/users/645
// ==/UserScript==
// fires when gbar is found or added to document.
var $ = unsafeWindow.jQuery;
var timeoutId;
var done = false;
function redirect(elem) {
href = elem.getAttribute('href');
if (!done && typeof href != 'undefined' && href.match(/^https?.*$/)) {
clearTimeout(timeoutId);
done = true;
document.location = href;
return true;
}
return false;
}
function redirect2(v) {
if (!done && typeof v == 'string' && v.match(/^https?.*$/)) {
clearTimeout(timeoutId);
done = true;
document.location = v;
return true;
}
return false;
}
(function () {
var elem;
//Third attempt; from https://github.com/devnoname120/nopicads/blob/shr77.com/src/sites/link/shr77.com.js
var link = document.head.innerHTML.match(/\$\('a#loading'\)\.attr\('href',"([^"]+)"\);/);
//No match in head? Try the body
link = !link ? document.body.innerHTML.match(/\$\('a#loading'\)\.attr\('href',"([^"]+)"\);/) : link;
//piss off
if (unsafeWindow.jQuery)
unsafeWindow.jQuery("#jw-player").remove();
if (!link || !redirect2(link[1]) ) {
//Second attempt
//Override jQuery animate for instant shit
if (typeof unsafeWindow.jQuery != 'undefined') {
var oldfn = unsafeWindow.jQuery.fn.animate;
unsafeWindow.jQuery.fn.animate = function (a, b, c) {
c();
}
}
//Moar
if (typeof unsafeWindow.setInterval != 'undefined') {
var oldfn = unsafeWindow.setInterval;
unsafeWindow.setInterval = function (a, b) {
return oldfn(a, 50);
}
}
if (typeof unsafeWindow.num != 'undefined') {
unsafeWindow.num = 0;
if (typeof timeoutId == 'undefined') {
timeoutId = setInterval(function () {
if ((elem = document.getElementById('loading'))) {
redirect(elem);
}
}, 50);
}
}
}
}) ();