// ==UserScript== // @name JCCC Library JSON // @namespace JCCC Library JSON // @description Using https://library.jccc.edu/home/?newlibrary this script interacts with http://jccc.summon.serialssolutions.com/api/search to get all results as quickly as possible for a particular query. It can handle 1000 results total, because that is where the api cuts it off. // @include about:blank?jccclibrary // @include chrome://blank/?library // @include https://library.jccc.edu/home/?newlibrary // @match http://jccc.summon.serialssolutions.com/api/* // @version 0.1 // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== /////////////////////////////////////////////////////////////// // In order for this script to work in google chrome you must // have tampermonkey or another script manager that emulates // the greasemonkey api. // Reduce default 'referer' header granularity must be enabled // in chrome://flags ////////////////////////////////////////////////////////////// var resultsPerPage = 10; var startFuncVar = function () { start(); }; var stopFuncVar = function () {stop();}; //disable all existing stylesheets for (i=0;iwomen\'s studies'; /*document.body.innerHTML=''; //'+onpage+'
'+options+'

'; q = document.getElementById('query').value; //document.getElementById('start').addEventListener("click",function () {start();}); */ checkKeyFuncVar = function (event) {checkkey(event);} queryElem.addEventListener("keydown",checkKeyFuncVar); queryElem.addEventListener("keyup",checkKeyFuncVar); /* document.getElementById("stop").addEventListener("click",function () { for (j=0;j0) { document.body.removeChild(allResults[0]); } startElem.setAttribute("value","STOP"); startElem.removeEventListener("click",startFuncVar,false); startElem.addEventListener("click",stopFuncVar,false); deciplineQuery=''; stopping=true; //q = document.getElementById('query').value; q = queryElem.value; for (i=0; i'+onpage+'
'+options+'

'; //document.getElementById('start').addEventListener("click",function () {start();}); //document.getElementById('query').addEventListener("keydown",function (event) {checkkey(event);}); //document.getElementById('query').addEventListener("keyup",function (event) {checkkey(event);}); //document.getElementById("stop").addEventListener("click",function () { //for (j=0;j" pages = JSON.parse(response.responseText); //document.body.innerHTML="
"+pages.full_text_link+"
"; //document.body.innerHTML=""; /* findobj = pages; for (key in findobj) { document.body.innerHTML+="
"+key+":\n"+findobj[key]+"
"; } */ if (pages.documents=='') { requestingdone=true; } //document.getElementById("total").innerHTML=" Total Records "+pages.record_count; for (key in pages.documents) { resultnumber++; console.log(resultnumber); newh3 = document.createElement("h3"); newh3.setAttribute("class","result"); newh3.innerHTML=pages.documents[key]["full_title"]; newh3.style.display="inline"; newh4 = document.createElement("h4"); newh4.setAttribute("class","result"); newh4.innerHTML=resultnumber+" "; newh4.style.display="inline"; newdiv2 = newdiv = document.createElement("div"); newa = document.createElement("a"); newa.setAttribute("class","result"); newa.setAttribute("href",pages.documents[key]["fulltext_link"]); newa.appendChild(newh3); newdiv2.appendChild(newh4); newdiv2.appendChild(newa); newa.style.display="inline"; newdiv = document.createElement("div"); newdiv.setAttribute("class",ii); //newdiv.innerHTML=pages.documents[key]["snippet"]; newdiv.style.padding="2px"; newdiv2.style.padding="2px"; newdiv.setAttribute("class","result"); newdiv2.setAttribute("class","resultdiv"); if ((resultnumber%2)==0) { newdiv2.style.backgroundColor="#e9e9e9"; newdiv.style.backgroundColor="#e9e9e9"; } document.body.appendChild(newdiv2); newspan = document.createElement("span"); newspan.setAttribute("class","result"); if (pages.documents[key]["snippet"]==undefined) { newspan.innerHTML='' } else { newspan.innerHTML=pages.documents[key]["snippet"]; } newdiv.appendChild(newspan); newdiv2.appendChild(newdiv); //document.body.innerHTML+='

'+pages.documents[key]["full_title"]+'


'+pages.documents[key]["fulltext_link"]+'
'+pages.documents[key]["snippet"]+"

"; } /* console.log(ii+","+q+","+decipline.replace(/\s/g,'+')); if (ii<20) { document.getElementById("onpage").innerHTML="Last Requested Page "+ii; } else { document.getElementById("onpage").innerHTML="Requesting Done Page "+ii; //alert("'"+pages.documents+"'"); } if (requestingdone==true) { document.getElementById("onpage").innerHTML="Requesting Done Page "+ii; } */ otherii = (ii+1); if (otherii<(1000/resultsPerPage)+1 && stopping==false) { //console.log(otherii+" , "+(ii+1)); if (requestingdone==false) { setTimeout(apireq(otherii),0); } } } }); } function checkkey(event) { thekey = event.which || event.keyCode; if (thekey==13) { start(); } }