// ==UserScript== // @name Remove Yandex Redirect // @name:ru Удаление редиректов на Яндексе // @namespace http://tampermonkey.net/ // @version 0.1 // @description Remove Yandex redirect in search and news // @description:ru Удаление редиректов на Яндексе в поисковой выдаче и новостях // @author raletag // @include *://yandex.*/* // @include *://news.yandex.*/* // @grant unsafeWindow // @downloadURL none // ==/UserScript== (function() { 'use strict'; var win = unsafeWindow || window, remove; if (win.top !== win.self) return; console.time('Remove Yandex Redirect load'); function insearch (e) { var links = e.querySelectorAll('a[onmousedown*="/clck/jsredir"]'); for (var i = links.length - 1; i >= 0; --i) { links[i].removeAttribute('onmousedown'); } } function innews (e) { var links = e.querySelectorAll('a[data-counter]'); for (var i = links.length - 1; i >= 0; --i) { links[i].removeAttribute('data-counter'); links[i].removeAttribute('data-bem'); } } if (win.location.hostname.match(/^news\.yandex/i)) { remove = innews; } else { remove = insearch; } remove (document); var o = new MutationObserver(function(ms){ ms.forEach(function(m){ m.addedNodes.forEach(function(n){ if (n.nodeType !== Node.ELEMENT_NODE) { return; } remove(n); }); }); }); o.observe(document.body, {childList: true, subtree: true}); console.timeEnd('Remove Yandex Redirect load'); })();