Adds 2 additional custom Google search options - 6 months & 2 years
- Click on the view raw link of the jsmonkey-gcsearch.user.js file
- Click on install on the new tab that opened
| // ==UserScript== | |
| // @name jsmonkey-gcsearch additional Google search filters | |
| // @namespace http://techexplored.com | |
| // @description Adds 2 custom search filters to limit search results to the past 6 months or 2 years. | |
| // @contributor petermac- | |
| // @version 2014.05.09 | |
| // | |
| // @icon http://www.google.com/favicon.ico | |
| // @include /(http|https)?://.*\.google\.[^\/]+?/(#.*|search\?.*)?$/ | |
| // @grant none | |
| // @run-at document-end | |
| // ==/UserScript== | |
| var timer, log, start; | |
| function addElement() { | |
| var search = document.getElementById('qdr_m').firstChild.getAttribute('href'); | |
| var beginURL = search.match(/.*(?=&tbs)/); | |
| var filter_parent = document.getElementById('qdr_y').parentNode; | |
| var insert_index = 5; | |
| var url_6m = beginURL + "&tbs=qdr:m6"; | |
| var url_2y = beginURL + "&tbs=qdr:y2"; | |
| var filters = [url_6m, url_2y]; | |
| for (var filter in filters) { | |
| var li = document.createElement('li'); | |
| li.setAttribute('class', 'hdtbItm'); | |
| var a = document.createElement('a'); | |
| a.setAttribute('class', 'q qs'); | |
| a.setAttribute('href', filter); | |
| a.innerHTML = 'Past 6 months'; | |
| li.appendChild(a); | |
| filter_parent.insertBefore(li, filter_parent.childNodes[insert_index]); | |
| insert_index += 2; | |
| } | |
| } | |
| log = document.getElementById("log"); | |
| function repeatXI(callback, interval, repeats, immediate) { | |
| var timer, trigger; | |
| trigger = function() { | |
| callback(); | |
| --repeats || clearInterval(timer); | |
| }; | |
| interval = interval <= 0 ? 1000 : interval; // default: 1000ms | |
| repeats = parseInt(repeats, 10) || 0; // default: repeat forever | |
| timer = setInterval(trigger, interval); | |
| if ( !! immediate) { // Coerce boolean | |
| trigger(); | |
| } | |
| return timer; | |
| } | |
| function cb() { | |
| var search = document.getElementById('qdr_y').parentNode; | |
| var length = search.children.length; | |
| if(length > 7) { | |
| //console.log('element already added'); | |
| return true; | |
| } | |
| //console.log('element not yet added'); | |
| addElement(); | |
| } | |
| if( timer ) { clearInterval(timer); } | |
| start = (new Date).getTime(); | |
| var args = [ 4000, 0, true ]; | |
| timer = repeatXI.apply(null, [cb].concat(args)); |
Adds 2 additional custom Google search options - 6 months & 2 years