Remove Yandex redirect in search and news
当前为
// ==UserScript==
// @name Remove Yandex Redirect
// @name:ru Удаление редиректов на Яндексе
// @namespace FIX
// @version 0.2
// @description Remove Yandex redirect in search and news
// @description:ru Удаление редиректов на Яндексе в поисковой выдаче и новостях
// @author raletag
// @include *://yandex.*/search/*
// @include *://news.yandex.*/*
// @grant unsafeWindow
// ==/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');
})();