// ==UserScript== // @name GoogleSearchExtraButtons // @version 1.10 // @namespace barsmonster // @exclude https://www.google.*&tbm=isch* // @include https://www.google.*/search?* // ==/UserScript== // 201706: deleted useless code, fixed style // added to exclude google-images, included only search-pages /* Google Extra Search Buttons * Based on * Version 1.4 April 5, 2013 * Rewritten by Tegan * This script is Public Domain. */ var elements = null; searchBox = null; function createGenericButton(name, JSAction) { // !!!!!!!!!!!!!!!!!!!!!! linkContainer = document.getElementById("hdtb-msb"); linkContainer.innerHTML += '<DIV class="hdtb-mitem hdtb-imb" ><a href="#" onClick="'+JSAction+'">'+name+'</a></div>'; } function createURLButton(name, extraURL) { createGenericButton(name, "url = '/search?q=';url += encodeURIComponent(document.getElementsByName('q')[0].value) + '" + extraURL + "';location.href = url;return false;"); } waitForIt(function () { elements = document.getElementsByName("q"); if(elements.length > 0) { searchBox = elements[0]; elements = document.getElementsByName("btnG"); if(elements.length > 0) { var btnG = elements[0]; // createQueryButton("PDF", 'filetype:pdf'); // document types createURLButton("PDF", '&as_filetype=pdf'); // search languages createURLButton("ru", '&lr=lang_ru'); createURLButton("en", '&lr=lang_en'); createURLButton("ua", '&lr=lang_uk'); // search createURLButton("1D", '&tbs=qdr:d'); createURLButton("7D", '&tbs=qdr:w'); createURLButton("1M", '&tbs=qdr:m'); createURLButton("1Y", '&tbs=qdr:y'); return true; }; }; return false; }); //We are waiting until we see Google controls function waitForIt(now, interval, iteration){ if(interval == null) interval = 100; var find; function run() { if(now()) window.clearInterval(find); if(iteration && iteration <= 0) window.clearInterval(find); else iteration--; } find = window.setInterval(run,interval); return find; } |