// ==UserScript== // @name Yahoo direct non-tracking search // @description Strips tracking and redirection from Yahoo search urls // @include https://search.yahoo.com/search* // @version 1.0 // @author wOxxOm // @namespace wOxxOm.scripts // @license MIT License // @grant none // @run-at document-start // @downloadURL none // ==/UserScript== setMutationHandler(document, '.search-assist-form-wrapper form, a', function(observer, nodes) { Array.prototype.forEach.call(nodes, function(node) { switch (node.localName) { case 'form': node.addEventListener('submit', function(e){ e.preventDefault(); e.stopPropagation(); e.target.action = 'https://search.yahoo.com/search;'; e.target.submit(); }); break; case 'a': node.href = node.href.replace(/;?_yl[tu]=[\w;_=.-]+\/?/, '') .replace(/^.+?\/RU=(http[^\/]+)\/?.*$/, function(s, url) { return decodeURIComponent(url) }); break; } }); return true; }); function setMutationHandler(baseNode, selector, cb) { var ob = new MutationObserver(function(mutations){ for (var i=0, ml=mutations.length, m; (i