Skip to content

Instantly share code, notes, and snippets.

@n0ncetonic
Created September 4, 2018 17:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n0ncetonic/de1aea9ac257b1b08f4e26d289969215 to your computer and use it in GitHub Desktop.
Save n0ncetonic/de1aea9ac257b1b08f4e26d289969215 to your computer and use it in GitHub Desktop.
Cashback Ext Detection
var detectExt = {
is_install: "",
/**
* поиск расширения в chrome
* @param onload
* @param onerror
*/
detect_ext_chrome: function (onload, onerror) {
var detect = function (base, if_installed, if_not_installed) {
var s = document.createElement('script');
s.onerror = if_not_installed;
s.onload = if_installed;
document.body.appendChild(s);
s.src = base + '/js/background/Api.js ';
};
if ((navigator.userAgent.toLowerCase().indexOf('chrome') > -1) && (navigator.userAgent.toLowerCase().indexOf('opr/') < 0)) {
var alibonus_ext_id = "dbfipcjecamggjfabeaclacjoohfjhhn";
detect('chrome-extension://' + alibonus_ext_id, onload, onerror);
}
}, /**
* поиск расширения в yandex
* @param onload
* @param onerror
*/
detect_ext_yandex: function (onload, onerror) {
var detect = function (base, if_installed, if_not_installed) {
var s = document.createElement('script');
s.onerror = if_not_installed;
s.onload = if_installed;
document.body.appendChild(s);
s.src = base + '/js/background/Api.js ';
};
if ((navigator.userAgent.toLowerCase().indexOf('chrome') > -1) && (navigator.userAgent.toLowerCase().indexOf('opr/') < 0)) {
var alibonus_ext_id = "dbfipcjecamggjfabeaclacjoohfjhhn";
detect('chrome-extension://' + alibonus_ext_id, onload, onerror);
}
},
/**
* поиск расширения в firefox
* @param onload
* @param onerror
*/
detect_ext_firefox: function (onload, onerror) {
setTimeout(function() {
if ($('#sad654sd7ef12eafw8e97fwe123fweq67fwe31as').length > 0) {
onload();
} else {
onerror();
}
}, 1500);
},
/**
* поиск расширения в opera
* @param onload
* @param onerror
*/
detect_ext_opera: function (onload, onerror) {
var detect = function (base, if_installed, if_not_installed) {
var s = document.createElement('script');
s.onerror = if_not_installed;
s.onload = if_installed;
document.body.appendChild(s);
s.src = base + '/js/background/Api.js ';
};
if (navigator.userAgent.toLowerCase().indexOf('opr/') > -1) {
var alibonus_ext_id = "gnmpkjcpdaneoddcilgcoobhkokdbfcd";
detect('chrome-extension://' + alibonus_ext_id, onload, onerror);
}
},
/**
* поиск расширения в safari
* @param onload
* @param onerror
*/
detect_ext_safari: function (onload, onerror) {
setTimeout(function () {
if ($('.safari-extension-installed.hidden').length > 0) {
onload();
} else {
onerror();
}
}, 1500);
},
/**
* проверка на наличие установленного расширения в конкретном браузере
* @param browser
* @returns {boolean}
*/
init: function (browser, onload, onerror) {
onload = onload || function () {
};
onerror = onerror || function () {
};
browser = browser || "none";
browser = browser.toString().toLowerCase();
// если метод не найден
if (this["detect_ext_" + browser] === undefined) {
onerror();
detectExt.is_install = "";
return false;
}
if (this.is_install !== "") {
return this.is_install;
}
// обращаемся к методу и проверяем установлен ли ext
this["detect_ext_" + browser](function () {
onload();
detectExt.is_install = true;
}, function () {
onerror();
detectExt.is_install = false;
});
return detectExt.is_install;
}
};
var browserList = {
install_links: {
'Firefox': 'https://addons.mozilla.org/ru/firefox/addon/megabonus_cashback/?src=cb-dl-updated',
'Safari': 'https://safari-extensions.apple.com/details/?id=com.megabonus.megabonusextension-5GA3F5H498',
'Opera': 'https://addons.opera.com/ru/extensions/details/alibonus-vozvrashchai-10-s-aliexpress/?display=ru-RU',
'Chrome': 'https://chrome.google.com/webstore/detail/alibonus-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%89%D0%B0%D0%B9-10%25-%D1%81/dbfipcjecamggjfabeaclacjoohfjhhn?hl=ru',
'Yandex': 'https://chrome.google.com/webstore/detail/alibonus-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%89%D0%B0%D0%B9-10%25-%D1%81/dbfipcjecamggjfabeaclacjoohfjhhn?hl=ru'
},
reviews_links: {
'Firefox': 'https://addons.mozilla.org/ru/firefox/addon/megabonus_cashback/reviews/',
'Opera': 'https://addons.opera.com/ru/extensions/details/alibonus-vozvrashchai-10-s-aliexpress/?display=ru-RU#feedback-container',
'Chrome': 'https://chrome.google.com/webstore/detail/alibonus-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%89%D0%B0%D0%B9-10%25-%D1%81/dbfipcjecamggjfabeaclacjoohfjhhn/reviews?hl=ru',
'Yandex': 'https://chrome.google.com/webstore/detail/alibonus-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%89%D0%B0%D0%B9-10%25-%D1%81/dbfipcjecamggjfabeaclacjoohfjhhn/reviews?hl=ru'
},
event_class: {
'Firefox': 'firefox_click',
'Safari': 'safari_click',
'Opera': 'opera_click',
'Chrome': 'chrome_click',
'Yandex': 'yandexb_click'
},
browsers_logos: {
'Firefox': '/images/user/ff.png',
'Safari': '/images/user/safari.png',
'Opera': '/images/user/opera.png',
'Chrome': '/images/user/chrome.png',
'Yandex': '/images/user/yb.png'
},
browsers_labels: {
'Firefox': 'FireFox',
'Safari': 'Safari',
'Opera': 'Opera',
'Chrome': 'Chrome',
'Yandex': 'Yandex'
},
buildList: function(parent_obj, type, label_flag){
if(typeof label_flag === 'undefined')
label_flag = false;
var list = $('<div/>', {class: 'built-browser-list'}),
browsers_links,
link;
switch(type){
case 'reviews':
browsers_links = browserList.reviews_links;
break;
case 'install':
browsers_links = browserList.install_links;
break;
default:
browsers_links = browserList.install_links;
break;
}
$.each(installExt.detectInstallArr, function(index, value){
if(typeof browsers_links[value] !== 'undefined'){
list.append(link = $('<button/>', {
class: browserList.event_class[value],
click: function(){
window.open(browsers_links[value])
}
})
.append($('<img/>', {
src: browserList.browsers_logos[value]
}))
);
if(label_flag){
link.append(
$('<span/>', {text: browserList.browsers_labels[value]})
)
}
}
});
if(label_flag){
if(typeof parent_obj.attr('data-width') !== 'undefined'){
list.find('img').css({
'width': parent_obj.attr('data-width'),
'height': parent_obj.attr('data-width')
});
list.find('button').css({
'width': 2 * parent_obj.attr('data-width')
});
}
}
else{
if(typeof parent_obj.attr('data-width') !== 'undefined'){
list.find('button').css({
'width': parent_obj.attr('data-width'),
'height': parent_obj.attr('data-width')
});
}
if(typeof parent_obj.attr('data-margin') !== 'undefined'){
list.find('button').css('margin', parent_obj.attr('data-margin'));
}
}
parent_obj.empty().html(list);
}
};
var installExt = {
actualBrowser: {},
/**
* имя браузера
*/
browserName: "",
/**
* мобильный постфикс
*/
mobileName: "",
/**
* ссылка на скачивание Ext
*/
installLink: '#',
/**
* ссылка на отзывы
*/
reviewsLink: '#',
/**
* проверяет на мобильный браузер
* @returns {boolean}
*/
detectMobile: function () {
var ua = navigator.userAgent;
if (ua.match(/Android/i) ||
ua.match(/webOS/i) ||
ua.match(/iPhone/i) ||
ua.match(/iPad/i) ||
ua.match(/iPod/i) ||
ua.match(/BlackBerry/i) ||
ua.match(/Windows Phone/i)) {
return true;
}
return false;
},
detectInstall: function (onload, onerror) {
// инициируем функции проверки на установленный Extension
if (this.detectExtension === undefined) this.detectExtension = detectExt;
this.detectExtension.init(this.detectBrowser(false), onload, onerror);
},
/**
* возвращает наименование браузера
* @returns {string}
*/
detectBrowser: function (printMob) {
printMob = printMob || true;
this.mobileName = (printMob && this.detectMobile()) ? " - from Mobile" : "";
var ua = navigator.userAgent;
this.browserName = navigator.appName;
// Opera 15+,
if ((verOffset = ua.indexOf("OPR/")) != -1)
this.browserName = "Opera";
//Edge
else if (ua.indexOf('Edge/') !== -1) {
this.browserName = 'Edge';
}
//Yandex
else if (ua.indexOf('YaBrowser/') !== -1) {
this.browserName = 'Yandex';
}
//Google Chrome
else if ((verOffset = ua.indexOf("Chrome")) != -1)
this.browserName = "Chrome";
// older Opera,
else if ((verOffset = ua.indexOf("Opera")) != -1)
this.browserName = "Opera";
// Microsoft IE
else if ((verOffset = ua.indexOf("MSIE")) != -1)
this.browserName = "Microsoft Internet Explorer";
//Apple Safari
else if ((verOffset = ua.indexOf("Safari")) != -1)
this.browserName = "Safari";
//Firefox
else if ((verOffset = ua.indexOf("Firefox")) != -1)
this.browserName = "Firefox";
//other browsers
else
this.browserName = "Unknown";
return this.browserName + this.mobileName;
},
/**
* браузеры которые мы проверяем на установленное расширение, и в которые будем менять кнопки
*/
detectInstallArr: [
'Firefox',
'Safari',
'Chrome',
'Opera',
'Yandex'
],
/**
* возвращает ссылку для скачивания расширения
* @returns {string}
*/
getLinkForBrowser: function () {
switch (this.detectBrowser()) {
case 'Firefox':
this.installLink = browserList.install_links.Firefox;
break;
case 'Safari':
this.installLink = browserList.install_links.Safari;
break;
case 'Opera':
this.installLink = browserList.install_links.Opera;
break;
case 'Chrome':
case 'Yandex':
this.installLink = browserList.install_links.Chrome;
break;
default:
// console.warn('none Browser Link');
}
return this.installLink;
},
/**
* проверяе нужно ли данный браузер проверять на расширение
* @returns {boolean}
*/
isBrowserNeedCheckForExtension: function () {
Array.prototype.contains = function (needle) {
for (i in this) {
if (this[i] == needle) return true;
}
return false;
};
return this.detectInstallArr.contains(this.detectBrowser(false));
},
/**
* проверяет на авторизацию
*/
isAuthorisation: function () {
return !($('.my-settings .holder-text').text() == "");
},
init: function () {
// определяем ссылку для скачивания расширения
this.getLinkForBrowser();
// если данные браузер не указан в detectInstallArr - выходим
if (!this.isBrowserNeedCheckForExtension()) {
// если юзер не авторизован
if (this.isAuthorisation() && window.location.pathname == '/extension') {
$('.installext').remove()
}
// меняем кнопки содержащие класс installext
// console.log('меняем кнопки содержащие класс installext')
this.changeHtml.installext_ClassModify();
// }
return false;
}
// если мобильный браузер
if (this.detectMobile()) {
$('#bannerInstall').find('a').remove();
// удаляет класс installext в мобильной версии браузера при залогиненном пользователе
if (this.isAuthorisation()) {
$('.pr-like').removeClass('installext');
}
// console.log('мобильный браузер - выход')
return;
}
// проверка на установленное расширение
installExt.detectInstall(
// расширение установлено
function () {
installExt.isInstalledExt();
},
// расширение не установлено
function () {
installExt.noInstalledExt();
}
)
},
/**
* расширение не установлено
*/
noInstalledExt: function () {
// console.log("нет расширения")
// пользователь авторизован
if (this.isAuthorisation()) {
// console.log("пользователь авторизован");
// удаляет класс installext в мобильной версии браузера при залогиненном пользователе
$('.pr-like').removeClass('installext');
$('.link-shop a').removeClass('installext');
// запускаем следящий в цикле метод добавления ссылок на установку расширения
installExt.changeHtml.addLinkToExtensionInstall();
this.addInstallEvenst();
}
// пользователь не авторизован
else {
//console.log("пользователь не авторизован");
// запускаем следящий в цикле метод добавления ссылок на установку расширения
// installExt.changeHtml.installext_ClassModify();
this.addInstallEvenst();
}
$('.installext-before').text(js_installext_data.install_extension);
},
addInstallEvenst:function(){
$('.installext-before,.installext').removeAttr('data-toggle').removeAttr('data-target');
$(document).on('click', '.installext, .installext-before', function (e) {
e.preventDefault();
e.stopPropagation();
// console.log(654)
// инициируем установку расширения
installExt.changeHtml.extensionInstallation();
});
},
/**
* расширение установлено
*/
isInstalledExt: function () {
console.log("есть расширение");
// пользователь авторизован
if (this.isAuthorisation()) {
this.staticShow();
this.buttonInstallExtLand();
}
// пользователь не авторизован
else {
// console.log("пользователь не авторизован");
// инициализируем кнопки авторизации вместо кнопок активации
installExt.changeHtml.addLinkToExtensionToAuth();
installExt.changeHtml.changeText();
// с ним не работают кнокпки фида
// installExt.changeHtml.installext_before_ClassModify();
}
return 1;
},
/**
* вместо кнопок установки показываем блок share
*/
staticShow: function () {
// console.log("показать вместо кнокпи статистику");
$('.economical-expansion .installext').css('display', 'none');
$('.share').css('display', 'block');
},
/**
* события для лендинга расширений
* /extension
*/
buttonInstallExtLand: function () {
// console.log(window.location.pathname)
if (window.location.pathname == '/extension') {
installExt.changeHtml.addLinkToExtensionInstall();
}
},
/**
* содержит методы изменения DOM
*/
changeHtml: {
/**
* меняет кнопки содержащие класс installext
*/
installext_ClassModify: function () {
if (!installExt.isAuthorisation()) {
installExt.changeHtml.changeText();
var a;
$('.installext').each(function (index) {
if ($(this).attr('class').indexOf('btn-holder') > -1 || $(this).parent().attr('class').indexOf('btn-holder') > -1) {
var txt = ($.trim($(this).text()).length > 0) ? $(this).text() : js_installext_data.main_landing_login_modal_register;
if(!$(this).find('.link-expansion')){
$(this).empty().append(a = $('<a/>', {
text: txt,
class: 'link-expansion'
}));
if (window.location.pathname == '/extension') {
a.addClass('btn btn-default')
}
}
}
if (!$(this).hasClass('linkIsAdd')) {
$(this)
.addClass('linkIsAdd')
.unbind('click')
.attr('data-toggle', 'modal')
.attr('data-target', '#register-modal')
.removeClass('installext-before');
}
});
// итеративно
setTimeout(installExt.changeHtml.installext_ClassModify, 1500);
}
},
/**
* изменяет тексты на регистрацию
*/
changeText: function () {
if(window.location.pathname.indexOf('shop/') >= 0) {
$('.shop-card .installext').attr('data-target', '#login-modal');
return;
}
$('.header-top .btn-expansion').removeClass('installext-before');
if ($('a').is('.btn_in')) {
$('.installext button, .installext a,.installext span').text(js_installext_data.main_landing_login_modal_register)
.attr('data-target', '#register-modal');
}
else if ($('div').is('.btn_in')) {
$('.link-expansion').text(js_installext_data.main_landing_login_modal_register).parent()
.attr('data-target', '#register-modal');
}
else {
$('.installext[class!=btn_in]').text(js_installext_data.main_landing_login_modal_register)
.attr('data-target', '#register-modal');
}
if(window.location.pathname == '/'){
$('button.installext').text(js_installext_data.main_landing_login_modal_register)
.attr('data-target', '#register-modal');
}
},
/**
* добавляет окно авторизации
*/
addModalLogin: function () {
$('.installext').each(function (index) {
if (!$(this).hasClass('linkIsAdd')) {
$(this)
.addClass('linkIsAdd')
// .unbind('click')
.attr('data-toggle', 'modal')
// .attr('data-target', '#login-modal')
.removeClass('installext-before')
.removeClass('installext')
;
if($(this).hasClass('installext-index')) {
$(this).addClass('installext')
$(this).attr('data-target', '#register-modal');
}
}
});
},
/**
* следящий в цикле метод добавления ссылок на установку расширения
* добавляет ссылки на установку расширения
*/
addLinkToExtensionToAuth: function () {
// сделано для объектов генерящихся в JS
// console.log("сделано для объектов генерящихся в JS");
if ($('.installext').length > $('.linkIsAdd').length) {
$('.installext').attr('href', this.installLink);
}
// добавляет евент на вызов окна авторизации
installExt.changeHtml.addModalLogin();
// итеративно
setTimeout(installExt.changeHtml.addLinkToExtensionToAuth, 1500);
},
/**
* следящий в цикле метод добавления евента на окно авторизации
* добавляет евенты на окно авторизации
*/
addLinkToExtensionInstall: function () {
// console.log('addLinkToExtensionInstall')
// сделано для объектов генерящихся в JS
if ($('.installext').length > $('.linkIsAdd').length) {
$('.installext').attr('href', this.installLink).addClass('linkIsAdd');
}
// подмена кнопок на ссылки
$('.installext').each(function (index) {
if ($(this).prop("tagName") !== 'A' || $(this).attr('href') !== installExt.installLink) {
var btn = $(this);
$(this).replaceWith($('<a/>', {
class: btn.attr('class'),
html: btn.html(),
href: installExt.installLink,
target: '_blank'
}));
}
});
// добавляет евент на вызов окна авторизации
installExt.changeHtml.addModalLogin();
// итеративно
setTimeout(installExt.changeHtml.addLinkToExtensionInstall, 1500);
},
/**
* устанавливает расширение
* @returns {string}
*/
extensionInstallation: function () {
var res = '';
var browser = installExt.detectBrowser(false);
if (navigator.userAgent.indexOf('Mac') != -1) {
$('.continue-label-01 .arrow').css('left', '50%');
}
if (browser === 'Chrome' || browser === 'Yandex') {
installExt.events.installExt.chrome();
}
if (browser === 'Opera') {
installExt.events.installExt.opera();
}
if (browser === 'Firefox') {
installExt.events.installExt.firefox();
}
if (browser === 'Safari') {
installExt.events.installExt.safari();
}
return res;
}
},
/**
* события кликов
*/
events: {
authorisationWindowShow: function () {
},
/**
* устанавливает Extension
*/
installExt: {
opera: function () {
$('.overlay-bg').show().css({
'height': $(document).height() + $('footer').height()
});
$('.continue-label-01').show();
var id = 'gnmpkjcpdaneoddcilgcoobhkokdbfcd';
try {
opr.addons.installExtension(id, function () {
$('.continue-label-01').hide();
$('.overlay-bg').hide();
res = 'ok';
}, function (errorMessage) {
console.log(errorMessage);
$('.continue-label-01').hide();
$('.overlay-bg').hide();
res = 'error';
// window.open('https://addons.opera.com/ru/extensions/details/alibonus-vozvrashchai-10-s-aliexpress', '_self');
});
}
catch (err) {
console.log(err.name + ":" + err.message + "; stack: " + err.stack);
$('.continue-label-01').hide();
$('.overlay-bg').hide();
window.open('https://addons.opera.com/ru/extensions/details/alibonus-vozvrashchai-10-s-aliexpress', '_self');
}
},
chrome: function () {
$('.overlay-bg').show().css({
'height': $(document).height() + $('footer').height()
});
$('.continue-label-01').show();
try {
chrome.webstore.install('', function () {
$('.continue-label-01').hide();
$('.overlay-bg').hide();
return 'ok';
}, function (error_message) {
$('.continue-label-01').hide();
$('.overlay-bg').hide();
return 'error';
});
}
catch (err) {
// console.log(err.name + ":" + err.message + "; stack: " + err.stack);
$('.continue-label-01').hide();
$('.overlay-bg').hide();
window.open('https://chrome.google.com/webstore/detail/dbfipcjecamggjfabeaclacjoohfjhhn', '_self');
}
},
firefox: function () {
window.open(installExt.getLinkForBrowser(), '_blank');
},
safari: function () {
window.open(installExt.getLinkForBrowser());
}
}
}
};
$(function () {
// $('body').append($('<div/>',{id:"sad654sd7ef12eafw8e97fwe123fweq67fwe31as"})); // эмуляция установленного расширения
installExt.init();
});
(function () {
"use strict";
$(".breadcrumb").hide().css("opacity", "0").css("height", "0");
var tracking_url = $("#RedirectUrl").val(),
isAuth = $("#IsAuth").val();
window.onload = function() {
var tp = document.getElementById('tracking-protection');
var tpEnabled = false;
var cbExtEnabled = false;
var adware = {
detected: false
};
var knownAdware = {
'alitools': {
'title': 'AliTools',
'info': 'AliExpress Tools (alitools.io)'
},
'ss': {
'title': 'The Safe Surfing',
'info': 'The Safe Surfing (safesurfing.me)'
}
}
tp.innerHTML = '<img id="beacon" style="display:none" src="//apps.facebook.com/favicon.ico">';
var beacon = document.getElementById('beacon');
//beacon.addEventListener('load', function() {});
beacon.addEventListener('error',
function() {
tpEnabled = true;
});
detectPrivateMode();
function isIE10OrLater(user_agent) {
var ua = user_agent.toLowerCase();
if (ua.indexOf('msie') === 0 && ua.indexOf('trident') === 0) {
return false;
}
var match = /(?:msie|rv:)\s?([\d\.]+)/.exec(ua);
if (match && parseInt(match[1], 10) >= 10) {
return true;
}
return false;
}
function detectPrivateMode() {
if (window.webkitRequestFileSystem && /Vivaldi/.test(window.navigator.userAgent)) {
window.webkitRequestFileSystem(
window.TEMPORARY,
1,
function() {
tpEnabled = true;
},
function(e) {
tpEnabled = false;
}
);
} else if (window.webkitRequestFileSystem) {
window.webkitRequestFileSystem(
window.TEMPORARY,
1,
function() {
tpEnabled = false;
},
function(e) {
tpEnabled = true;
}
);
} else if (window.indexedDB && /Firefox/.test(window.navigator.userAgent)) {
var db;
try {
db = window.indexedDB.open('test');
} catch (e) {
tpEnabled = true;
}
} else if (isIE10OrLater(window.navigator.userAgent)) {
tpEnabled = false;
try {
if (!window.indexedDB) {
tpEnabled = true;
}
} catch (e) {
tpEnabled = true;
}
} else if (window.localStorage && /Safari/.test(window.navigator.userAgent)) {
try {
window.localStorage.setItem('test', 1);
} catch (e) {
tpEnabled = true;
}
if (typeof tpEnabled === 'undefined') {
tpEnabled = false;
window.localStorage.removeItem('test');
}
}
}
cbExtEnabled = false;
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isFF = /Firefox/.test(navigator.userAgent) && /Mozilla/.test(navigator.appCodeName);
if (isChrome) detectExt();
if (isChrome)
detectResource('chrome-extension://eenflijjbchafephdplkdmeenekabdfb/fonts/OpenSans-Light.woff2',
'alitools',
detected);
if (isFF) FFdetectExt();
if (navigator.mimeTypes["application/x-safe-surfing"]) {
adware.detected = true;
adware.nfo = knownAdware['ss'];
}
function detected(title) {
adware.detected = true;
adware.nfo = knownAdware[title];
}
function detectResource(url, item, cb) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
// xhr.responseType = "arraybuffer";
xhr.onload = function(evt) {
if (xhr.status == 200) cb(item);
};
xhr.onerror = function(evt) {
//console.log("Error downloading resource from "+url);
};
xhr.send(null);
}
function FFdetectExt() {
function d(fn) {
var im = document.createElement("img");
im.addEventListener("load",
function(e) {
cbExtEnabled = true;
},
false);
im.setAttribute("src", fn);
}
d("chrome://letyshops/content/images/btn/logo24.png");
$('[data-j="howtoext"]').attr("href", 'https://support.mozilla.org/ru/kb/udalenie-dopolnenij');
}
function detectExt() {
var conflicts = [
['letyshops', 'lphicbbhfmllgmomkkhjfkpbdlncafbn', 'images/btn/logo18.png'],
['alibonus', 'dbfipcjecamggjfabeaclacjoohfjhhn', 'icons/info.png'],
['kopikot', 'iehhgmkphdjocnjjobeoccffiiclcmli', 'img/search.png']
];
function detectExt(extId, fn, nfo) {
var img = new Image();
img.src = "chrome-extension://" + extId + "/" + fn;
img.onload = function() { cbExtEnabled = true; };
}
for (var i = 0; i < conflicts.length; i++) {
detectExt(conflicts[i][1], conflicts[i][2], conflicts[i][0]);
if (cbExtEnabled) break;
}
}
top.setTimeout(function() {
if (typeof ok === 'undefined' || tpEnabled || cbExtEnabled || adware.detected) {
if (typeof console !== "undefined") {
console.log("adblock.detected: " + (typeof ok === 'undefined') + ", " + tpEnabled + ", " + cbExtEnabled + ", " + adware.detected + ";");
}
if (cbExtEnabled) {
document.getElementById('cbext').style.display = 'block';
} else if (adware.detected) {
document.getElementById('ssext').style.display = 'block';
document.getElementById('ssext-title').innerHTML = adware.nfo.title;
document.getElementById('ssext-info').innerHTML = adware.nfo.info;
} else {
if (tpEnabled) {
document.getElementById('fftp').style.display = 'block';
} else {
document.getElementById('adb').style.display = 'block';
}
}
document.getElementById('redirect').style.display = 'none';
} else {
top.setTimeout(function () {
if (isAuth && isAuth.toLowerCase() !== "false") {
top.location.href = tracking_url;
} else {
top.location.href = "/ExternalLogin?ReturnUrl=" + tracking_url;
}
},
5000);
}
},
800);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment