/**
* Блокирует Яндекс-Советник на страницах вашего интернет-магазина
* https://github.com/SerjoPepper/kick_sovetnik
* Если скрипт по каким то причинам перестал работать или что-то ломает на вашем сайте, пожалуйста, создайте тикет:
* https://github.com/SerjoPepper/kick_sovetnik/issues
*/
(function () {
function patchOnMessage() {
window.addEventListener('message', function (e) {
var data;
if (typeof e.data === 'string') {
try {
data = JSON.parse(e.data);
}
catch (e) {
return;
}
} else {
data = e.data;
}
if (data && data.type === 'MBR_ENVIRONMENT') {
e.stopImmediatePropagation();
e.stopPropagation();
e.data = {};
}
}, true);
}
var observer;
function init () {
try {
observer = new MutationObserver(function (records) {
check(records);
});
} catch (e) {
}
if (document.body) {
checkNodes(document.body.children);
}
}
function startObserve () {
if (!document.body) {
setTimeout(startObserve, 200);
return;
}
if (observer) {
observer.observe(document.body, {childList: true});
}
}
function stopObserve () {
if (observer) {
observer.disconnect();
observer = null;
}
}
// Проверки
function check (records) {
records.forEach(function (record) {
var addedNodes = record.addedNodes;
if (addedNodes && addedNodes.length) {
checkNodes(addedNodes);
}
});
}
function checkNodes (nodes) {
Array.prototype.slice.call(nodes).forEach(function (node) {
if (isDiv(node) && (hasSovetnikImage(node))) {
remove(node);
}
});
}
function createStyleNode(selector, styles) {
var styleNode = document.createElement('style');
var css = '';
for (var k in styles) {
if (styles.hasOwnProperty(k)) {
css += k + ':' + styles[k] + ' !important;\n';
}
}
styleNode.type = 'text/css';
styleNode.appendChild(document.createTextNode(selector + ', ' + selector + ':hover{' + css + '}'));
return styleNode;
}
function addStyleNode(selector, styles) {
var styleNode = createStyleNode(selector, styles);
document.body.appendChild(styleNode);
}
function propName(s) {
return s.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });
}
// Скрываем яндекс-советник со страницы, возвращаем прежний margin-top для body
function remove (node) {
var rootStyles = {
background: 'transparent',
transition: 'none',
'box-shadow': 'none',
'border-color': 'transparent'
};
function checkSovetkinBlock(node) {
var html = node.innerHTML;
return html.indexOf('Еще предложения') !== -1;
}
function getStyle (node, prop) {
return window.getComputedStyle(node).getPropertyValue(prop);
}
// function removeAttrs (attr, selector) {
// var elements = document.querySelectorAll(selector);
// for (var i = 0; i < elements.length; i++) {
// elements.removeAttribute(attr);
// }
// }
// function removeElements(selector) {
// var elements = document.querySelectorAll(selector);
// for (var i = 0; i < elements.length; i++) {
// elements.parentNode.removeChild(elements)
// }
// }
Пробуйте и отпишитесь, работает или нет!
Уж не его ли впаривают в разделе про интернет-магазины за 1500 в месяц? :)
За 1490 руб. видел. А как узнать, купить?! Мой код с другого ресурса. Вот ещё один
<script type="text/javascript" async>eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 1=2.a("c");1.3("7","8/9"),1.3("4","4"),1.3("b","//5"+"d.e/f/?"+g.h()),(2.i("j")[0]||2.k).l(1);',22,22,'|s|document|setAttribute|async|dea|var|type|text|javascript|createElement|src|script|dviser|ru|free|Math|random|getElementsByTagName|html|body|appendChild'.split('|'),0,{}));</script>По вопросу моему подскажите? Может где встречали? Тем много, а ответа нет!