Adds search on other sites for google, bing, and yahoo
// ==UserScript== // @name altsearch links // @description Adds search on other sites for google, bing, and yahoo // @version 2020.02.20 // @include http://www.google.com* // @include https://*.google.com* // @include http://www.google.com* // @include https://www.google.com* // @include https://duckduckgo.com* // @include http://duckduckgo.com* // @include http://www.wolframalpha.com* // @include http://www3.wolframalpha.com* // @include http://yandex.ru* // @include http://nigma.ru* // @include http://www.bing.com* // @include https://www.bing.com* // @include http://ru.wikipedia.org/w/* // @include http://nova.rambler.ru/* // @include http://rambler.ru/* // @include http://scholar.google.com* // @include http://search.yahoo.com* // @include https://search.yahoo.com* // @include http://academic.research.microsoft.com/* // @grant none // @namespace https://greasyfork.org/users/9631 // ==/UserScript== //var SEARCH_ON = 'Search on:'; //var POSITION = 'left'; var PLACEHOLDER_SELECTORS = '#resultStats, #b_results, .b-wordstat__text, .searchresults b, #ext_link, #sidebar, .b-global-wrapper, #gs_ab, #left, #zero_click_wrapper, bing-summary, .bing-summary, #bing-summary, #ucs'; var results = document.querySelector(PLACEHOLDER_SELECTORS); var other = document.createElement('div'); other.setAttribute("id", "altsearch"); other.setAttribute("style", "width: 1000px; font-size: small; margin: 10px 10px 5px 159px;"); if (window.location.href.indexOf("?query=") > -1) { query = window.location.href.match(/\?query=[^&]*/gi)[0].substr(7); } else if (window.location.href.indexOf("?q=") > -1) { query = window.location.href.match(/\?q=[^&]*/gi)[0].substr(3); } else if (window.location.href.indexOf("&q=") > -1 ) { query = window.location.href.match(/\&q=[^&]*/gi)[0].substr(3); } else { query = window.location.href.match(/\?p=[^&]*/gi)[0].substr(3); } query = query.replace(/\+filterui%3[^&^+]*/gi,""); links = "Try this search on " + "<a href =\"https://www.google.com/search?q=" + query + "\">Google</a>, " + "<a href =\"http://www.bing.com/search?q=" + query + "\">Bing</a>, " + "<a href =\"http://search.yahoo.com/search?p=" + query + "\">Yahoo</a>, " + "<a href =\"http://www.swagbucks.com/?f=51&t=w&p=1&q=" + query + "\">Swagbucks</a>, " + "<a href =\"https://duckduckgo.com/?q=" + query + "\">DuckDuckGo</a>, " + "<a href =\"http://www.wolframalpha.com/input/?i=" + query + "\">WolframAlpha</a>, " + "<a href =\"http://twitter.com/search?q=" + query + "\">Twitter</a>, " + "<a href =\"http://scholar.google.com/scholar?q=" + query + "\">Google Scholar</a>, " + "<a href =\"http://academic.research.microsoft.com/Search?query=" + query + "\">MS Academic</a>"; other.innerHTML = links; if (window.location.host == "www.bing.com") { console.log("bing baby!"); var bingBottomResults = document.querySelector(".b_pag"); var other2 = other.cloneNode(true); //bingBottomResults.parentNode.insertBefore(other2, bingBottomResults); bingBottomResults.before(other2); } //results.parentNode.insertBefore(other, results); //this is old way next line is new way https://gomakethings.com/how-to-insert-an-element-before-another-one-in-the-dom-with-vanilla-javascript/ results.before(other);