为豆瓣图书增加广州大学城十校图书馆藏
// ==UserScript== // @name 广州十校图书馆豆瓣助手 // @description 为豆瓣图书增加广州大学城十校图书馆藏 // @name:en Douban library helper for Guangzhou Daxuecheng // @description:en add library collections in Guangzhou Daxuecheng on douban website // @author Hanchy Hill // @namespace https://minhill.com // @include http://book.douban.com/subject/* // @include https://book.douban.com/subject/* // @include http://202.116.64.108:8080/apsm/recommend/recommend_nobor.jsp* // @include http://202.116.64.108:8080/apsm/recommend/recommend.jsp* // @include http://202.38.232.10/opac/servlet/opac.go?cmdACT=recommend.form* // @include http://read.douban.com/ebook/* // @include https://read.douban.com/ebook/* // @include http://www.gdtgw.cn:8080/* // @include http://opac.gdufs.edu.cn:8991/F/*func=item-global* // @include http://202.116.64.108:8991/F/*func=item-global* // @include http://202.38.232.10/opac/servlet/opac.go* // @include http://lib.gzhu.edu.cn:8080/bookle/search2/detail/* // @include http://202.116.41.246:8080/opac/item.php?marc_no=* // @include http://210.38.102.131:86/opac/item.php?marc_no=* // @include http://222.200.98.171:81/bookinfo.aspx?ctrlno=* // @include http://121.33.246.167/opac/bookinfo.aspx?ctrlno=* // @include http://218.192.148.33:81/bookinfo.aspx?ctrlno=* // @include http://opac.gdufs.edu.cn:8118/apsm/recommend/recommend_nobor.jsp* // @version 1.9.8 // @license MIT // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_openInTab // @grant GM_deleteValue // @grant GM_addStyle // @grant GM_registerMenuCommand // @grant GM_setClipboard // @icon http://minhill.com/blog/wp-content/uploads/2012/03/favicon.ico // ==/UserScript== GM_addStyle("#ISBNLoading,#titleLoading { list-style-type:none; }"); GM_addStyle("#libSetting {background: #F6F6F1;border: 1px solid #aaa;box-shadow: 0 0 8px 2px #777;height: auto;left: 320px;min-height: 100px;padding: 0 20px 65px;position: fixed;top: 25%;width: 600px;z-index: 1000002;}"+ '.setbtn{display: inline-block; background: #33A057; border: 1px solid #2F7B4B; color: white!important; padding: 1px 10px; border-radius: 3px; margin-right: 8px;margin:5px;cursor:pointer;} '+ '.gotobtn{display: inline-block; background: #33A057!important; border: 1px solid #2F7B4B; color: white!important; padding: 1px 10px; border-radius: 3px;margin-bottom:5px;font-size:0.8em!important;cursor:pointer;} '+ '#otherTitle .getlink a{display: inline-block; border: 1px solid #2F7B4B; padding: 1px 5px; border-radius: 3px;margin-bottom:2px;font-size:0.8em!important;cursor:pointer;text-decoration:none!important;}'); var schoolList=["SYSU","SCUT","SCNU","GDUT","GDUFS","GZHTCM","GZHU","GZARTS","XHCOM"]; //个人选项设置 var prefs={ school:GM_getValue("school","SYSU"), studentID:GM_getValue("studentID","2333333"), //password:"Hello_Kitty", campus:GM_getValue("campus","东校区"), telephone:GM_getValue("telephone","13145201748"), name:GM_getValue("name","二三三"), eMail:GM_getValue("eMail","[email protected]"), libraryId:GM_getValue("libraryId","ID1000244462") } function LibMeta(schoolName){ this.state=null; this.error=false; this.errorMsg=null; this.type=null; this.link=null; this.items=null; this.originUrl=null; this.school=schoolName; } function LibItem(school){ this.bookName=null; this.author=null; this.bookIndex=null; this.publisher=null; this.pubDate=null; this.school=school; this.link=null; this.extra=null; this.type="booklist"; } function StoreItem(school){ this.school=school; this.storeState=null; this.borrowTime=null; this.returnTime=""; this.location=null; this.bookIndex=null; this.branch=null; this.link=null; this.type="store"; this.rentable=false; } ///////////////////////////豆瓣图书元信息/////////////////////////////////// bookMeta=(function(){ if(location.href.indexOf('douban')==-1){return null;}//只在豆瓣页面执行 if(location.href.indexOf('douban.com/subject')!=-1){ //执行豆瓣图书Func. var rawBookInfo=document.getElementById("info").innerHTML; //获取info块 var author = document.querySelector("#info a"); //获取作者 if (author){ author = author.innerHTML.trim(); } var title =document.querySelector('h1 span').textContent; var bracketIndex = title.indexOf("(");//去除括号,防止搜索进行子匹配操作 if(bracketIndex!=-1){ title=title.slice(0,bracketIndex); } bracketIndex = title.indexOf("(");//去除括号,防止搜索进行子匹配操作 if(bracketIndex!=-1){ title=title.slice(0,bracketIndex); } var publisher = /出版社:<\/span>(.*)<br>/.exec(rawBookInfo); if (publisher !== null){ publisher = publisher[1].trim(); } var pubdate = /出版年:<\/span>(.*)<br>/.exec(rawBookInfo); if (pubdate !== null){ pubdate = /[\d]+/.exec(pubdate[1].trim()); pubdate = pubdate[0]; } var price = /定价:<\/span>(.*)<br>/.exec(rawBookInfo); if (price !== null){ price = price[1].trim(); } var isbn = /ISBN:<\/span>(.*)<br>/.exec(rawBookInfo); if (isbn !== null){ isbn = isbn[1].trim(); } var bookIndex = /统一书号:<\/span>(.*)<br>/.exec(rawBookInfo); if (bookIndex !== null){ bookIndex = bookIndex[1].trim(); } var rating = document.querySelector('#interest_sectl .rating_num').innerHTML.trim(); if (!rating) { rating = '暂无评分'; } } else if(location.href.indexOf('ebook')!=-1){//豆瓣电子书页面 var allNodes, isbn=null; allNodes = document.evaluate('//a[@itemprop="isbn"]',document,null,XPathR###lt.UNORDERED_NODE_SNAPSHOT_TYPE,null);//获取isbn if(allNodes.snapshotItem(0)){ isbn=allNodes.snapshotItem(0).innerHTML; } ////////////// //////////// var title; allNodes = document.evaluate('//h1[@itemprop="name"]',document,null,XPathR###lt.UNORDERED_NODE_SNAPSHOT_TYPE,null); if(allNodes.snapshotItem(0)){ title=allNodes.snapshotItem(0).innerHTML; var bracketIndex = title.indexOf("(");//去除括号,防止搜索进行子匹配操作 if(bracketIndex!=-1){ title=title.slice(0,bracketIndex); } bracketIndex = title.indexOf("(");//去除括号,防止搜索进行子匹配操作 if(bracketIndex!=-1){ title=title.slice(0,bracketIndex); } } var publisher; allNodes = document.evaluate('//span[@itemprop="publisher"]',document,null,XPathR###lt.UNORDERED_NODE_SNAPSHOT_TYPE,null); if(allNodes.snapshotItem(0)){ publisher=allNodes.snapshotItem(0).innerHTML; } var author; allNodes = document.evaluate('//span[@itemprop="author"]',document,null,XPathR###lt.UNORDERED_NODE_SNAPSHOT_TYPE,null); if(allNodes.snapshotItem(0)){ author=allNodes.snapshotItem(0).innerHTML; } var pubdate; allNodes = document.evaluate('//span[@itemprop="datePublished"]',document,null,XPathR###lt.UNORDERED_NODE_SNAPSHOT_TYPE,null); if(allNodes.snapshotItem(0)){ pubdate=allNodes.snapshotItem(0).innerHTML; pubdate=pubdate.slice(0,4); } var rating='暂无评分'; var price=""; var bookIndex=""; } //////////////////////ISBN转为旧格式/////////////////////////////////// function ISBN10(isbn){ if(isbn == null){ return null; } else if(pubdate == null){ return isbn; } if(isbn.length==13){ var rawISBN=isbn.slice(3,12); var checkCode=0;//校验码 for(i=0;i<9;i++){ checkCode+=parseInt(rawISBN[i])*(10-i); } checkCode=11-checkCode%11; if(checkCode==10){checkCode="X";} var preCode=""; publishDate=Number(pubdate.slice(0,4)); if((publishDate)>=2007){//判断年份以检查是否需要加前缀和修正校验位 preCode=isbn.slice(0,3)+"-"; checkCode=isbn[12]; } } else{//ISBN只有10位的时候,年份小于2007时校验位为原码 rawISBN =isbn.slice(0,9); checkCode = isbn[9]; preCode=""; publishDate=Number(pubdate.slice(0,4)); if((publishDate)>=2007){//判断年份以检查是否需要加前缀和修正校验位 preCode='978'+"-"; a = 7+parseInt(rawISBN[0])+parseInt(rawISBN[2])+parseInt(rawISBN[4])+parseInt(rawISBN[6])+parseInt(rawISBN[8]); a =a*3; b = 9+8+parseInt(rawISBN[1])+parseInt(rawISBN[3])+parseInt(rawISBN[5])+parseInt(rawISBN[7]); c = a+b; d = c%10; checkCode = (10-d)%10; } } //alert(preCode+rawISBN+checkCode); switch(rawISBN[1]){ case '0': ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,3)+"-"+rawISBN.slice(3,9)+"-"+checkCode; break; case '1': case '2': case '3': ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,4)+"-"+rawISBN.slice(4,9)+"-"+checkCode; break; case '5': case '7': ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,5)+"-"+rawISBN.slice(5,9)+"-"+checkCode; break; case '4': case '8': ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,6)+"-"+rawISBN.slice(6,9)+"-"+checkCode; break; case '6': ISBNold=preCode+rawISBN.slice(0,3)+"-"+rawISBN.slice(3,6)+"-"+rawISBN.slice(6,9)+"-"+checkCode; break; default: ISBNold=rawISBN; break; } return ISBNold; } var isbn10=ISBN10(isbn,pubdate); ///////////////////////////////////////////////////////// var lan="zh"; GM_setValue("doubanLanguage","zh"); if(title.charCodeAt(0)<=122&&((isbn&&isbn[3]!=="7")||!isbn)){ lan="en"; GM_setValue("doubanLanguage","en"); } return{ "title": title, "author": author, "publisher": publisher, "pubdate": pubdate, "price": price, "isbn": isbn, "bookIndex": bookIndex, "rating": rating, "isbn10": isbn10, "lan":lan//语言 }; })(); //各学校元信息 var schoolInfo={ //中山大学 "SYSU":{ name:"中山大学", anySearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=WRD&request=%s", anyForeianSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=WRD&request=%s&local_base=ZSU09", isbnSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=%s", isbnForeianSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=ZSU09", titleSearchUrl:"", abbrName:"中大", isGBK:false, recommendUrl:"http://202.116.64.108:8080/apsm/recommend/recommend.jsp?url_id=http://202.116.64.108:8991/F/" }, //华南理工大学 "SCUT":{ name:"华南理工大学", anySearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=TITLE&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=", isbnSearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=ISBN&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=", anyForeianSearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=TITLE&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=", isbnForeianSearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=ISBN&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=", abbrName:"华理工", isGBK:false, recommendUrl:"http://202.38.232.10/opac/servlet/opac.go?cmdACT=recommend.form" }, //南##一般大学 "SCNU":{ name:"华南师范大学", abbrName:"华师", anySearchUrl:"http://202.116.41.246:8080/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=%s", isbnSearchUrl:"http://202.116.41.246:8080/opac/openlink.php?isbn=%s&_m=1", isGBK:false }, //广东工业大学 "GDUT":{ name:"广东工业大学", abbrName:"广工", anySearchUrl:"http://222.200.98.171:81/searchr###lt.aspx?anywords=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL", isbnSearchUrl:"http://222.200.98.171:81/searchr###lt.aspx?isbn_f=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL", isGBK:true }, //外语外贸大学 "GDUFS":{ name:"广东外语外贸大学", abbrName:"广外", anySearchUrl:"http://opac.gdufs.edu.cn:8991/F/?find_code=WRD&request=%s&func=find-b", anyForeianSearchUrl:"http://opac.gdufs.edu.cn:8991/F/?func=find-b&find_code=WRD&request=%s&local_base=GWD09", isbnSearchUrl:"http://opac.gdufs.edu.cn:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=GWD01", isbnForeianSearchUrl:"http://opac.gdufs.edu.cn:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=GWD09", recommendUrl:"http://opac.gdufs.edu.cn:8118/apsm/recommend/recommend_nobor.jsp", isGBK:false }, //广州中医药大学 "GZHTCM":{ name:"广州中医药大学", abbrName:"广中医", anySearchUrl:"http://210.38.102.131:86/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=%s", isbnSearchUrl:"http://210.38.102.131:86/opac/openlink.php?strText=%s&strSearchType=isbn", isGBK:false }, //广州大学 "GZHU":{ name:"广州大学", abbrName:"广大", anySearchUrl:"http://lib.gzhu.edu.cn:8080/bookle/?id=searchForm&displayPages=15&index=default&matchesPerPage=10&query=%s&searchPage=1&submit=Bookle%20%E6%90%9C%E7%B4%A2", isbnSearchUrl:"http://lib.gzhu.edu.cn:8080/bookle/?index=default&query=STANDARDNO%3A%28%s%29", isGBK:false }, //广州美术学院gzarts "GZARTS":{ name:"广州美术学院", abbrName:"广美", anySearchUrl:"http://121.33.246.167/opac/searchr###lt.aspx?anywords=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0", isbnSearchUrl:"http://121.33.246.167/opac/searchr###lt.aspx?isbn_f=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0", //http://121.33.246.167/opac/searchr###lt.aspx?isbn_f=7-02-000220-X&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0 isGBK:true }, //星海音乐学院 "XHCOM":{ name:"星海音乐学院", abbrName:"星海", anySearchUrl:"http://218.192.148.33:81/searchr###lt.aspx?anywords=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL", isbnSearchUrl:"http://218.192.148.33:81/searchr###lt.aspx?isbn_f=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL", isGBK:true }, "zhizhen":{ name:"超星发现", abbrName:"超星发现", anySearchUrl:"http://ss.zhizhen.com/s?strchannel=11&adv=Z%3D%s&aorp=a&size=15&isort=0&x=0_17#searchbody", isbnSearchUrl:"http://ss.zhizhen.com/s?adv=I%3D%s&aorp=a&size=15&isort=0&x=0_17#searchbody", //anyForeianSearchUrl:"http://ss.zhizhen.com/s?strchannel=11&adv=Z%3D%s&aorp=a&size=15&isort=0&x=0_17#searchbody", isGBK:false }, "chaoxing":{ name:"超星读书", abbrName:"超星读书", anySearchUrl:"http://book.chaoxing.com/search/name/%s/bookList1_.html", //isbnSearchUrl:"http://ss.zhizhen.com/s?adv=I%3D%s&aorp=a&size=15&isort=0&x=0_17#searchbody", isGBK:false }, "CALIS":{ name:"CALIS", abbrName:"CALIS", anySearchUrl:"http://opac.calis.edu.cn/doSimpleQuery.do?actionType=doSimpleQuery&dbselect=all&indexkey=dc.title%7Cinc&langBase=default&maximumRecords=50&operation=searchRetrieve&pageno=1&pagingType=0&query=(dc.title%3D%22*%s*%22)&sortkey=title&startRecord=1&version=1.1", isbnSearchUrl:"http://opac.calis.edu.cn/doSimpleQuery.do?actionType=doSimpleQuery&dbselect=all&indexkey=bath.isbn|frt&langBase=default&maximumRecords=50&operation=searchRetrieve&pageno=1&pagingType=0&query=%28bath.isbn%3D%22%s*%22%29&sortkey=title&startRecord=1&version=1.1", isGBK:false }, "NLC":{ name:"##国家图书馆", abbrName:"国家馆", anySearchUrl:"http://opac.nlc.gov.cn/F?func=find-b&find_code=WTP&request=%s&local_base=NLC01&filter_code_1=WLN&filter_request_1=&filter_code_2=WYR&filter_request_2=&filter_code_3=WYR&filter_request_3=&filter_code_4=WFM&filter_request_4=&filter_code_5=WSL&filter_request_5=", isbnSearchUrl:"http://opac.nlc.gov.cn/F?find_code=ISB&request=%s&local_base=NLC01&func=find-b", isGBK:false }, "EBSCO":{ name:"EBSCOhost eBook", abbrName:"EBSCO", anySearchUrl:"http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&scope=site&type=0&custid=s5802652&groupid=main&profid=eds&mode=and&lang=en&authtype=ip,guest&bquery=%s&defaultdb=NLEBK", isGBK:false //,EXP:"title-link-wrapper*?treelist-group" }, "GoogleDoc":{ name:"谷歌聚合搜索", abbrName:"谷歌", anySearchUrl:"https://g.net.co/uds/GwebSearch?rsz=filtered_cse&hl=zh_CN&cx=006100883259189159113%3Atwgohm0sz8q&v=1.0&key=notsupplied&q=%s", mirrorUrl:['https://g.net.co/', 'https://www.90r.org/', 'https://soso.red/', 'https://cao.si/'], isGBK:false }, //广东药学院,由于编码问题和没提供ISBN检索,暂不支持// "GDPU":{ name:"广东药学院", abbrName:"广药" } } function popSetting(){ var settingDiv = document.createElement("div"); settingDiv.setAttribute("id","libSetting"); settingDiv.innerHTML="<h2>图书馆检索设置</h2>"+ '  '+'学校<select id="setschool" class="barname">'+'<option value="SYSU">中山大学</option><option value="SCUT">华南理工大学</option>'+ '<option value="SCNU">华南师范大学</option><option value="GDUFS">广东外语外贸大学</option>'+ '<option value="GDUT">广东工业大学</option><option value="GZHU">广州大学</option>'+ '<option value="GZHTCM">广州中医药大学</option><option value="GZARTS">广州美术学院</option><option value="XHCOM">星海音乐学院</option></select>'+'  '+ '学号<input id="setstudentID" class="barname">'+'   '+ '校区<input id="setcampus" class="barname">'+'<br><br>'+ '手机号<input id="settelephone" class="barname">'+'  '+ '姓名<input id="setname" class="barname">'+'  '+ '邮箱<input id="seteMail" class="barname">'+'<br>'+'<br>'+ '读者ID<input id="setLibID" class="barname">*读者ID为荐购页面登陆时所填写的ID,请自行查阅本馆读者荐购页面'+'<br>'+'<br>'+ '<a id="setsave" class="setbtn">保存设置并刷新</a><a id="setclose" class="setbtn">直接关闭</a>' document.getElementsByTagName("body")[0].appendChild(settingDiv);// 插入完毕 document.getElementById("setschool").value=prefs.school; document.getElementById("setstudentID").value=prefs.studentID; document.getElementById("setcampus").value=prefs.campus; document.getElementById("settelephone").value=prefs.telephone; document.getElementById("setname").value=prefs.name; document.getElementById("seteMail").value=prefs.eMail; document.getElementById("setLibID").value=prefs.libraryId; function setSaving(){ GM_setValue("school",document.getElementById("setschool").value); GM_setValue("studentID",document.getElementById("setstudentID").value); GM_setValue("campus",document.getElementById("setcampus").value); GM_setValue("telephone",document.getElementById("settelephone").value); GM_setValue("name",document.getElementById("setname").value); GM_setValue("eMail",document.getElementById("seteMail").value); GM_setValue("libraryId",document.getElementById("setLibID").value); settingDiv.parentNode.removeChild(settingDiv); location.reload(); } document.getElementById("setsave").addEventListener("click",setSaving,false); document.getElementById("setclose").addEventListener("click",function(){settingDiv.parentNode.removeChild(settingDiv)},false); } //函数:提取isbn搜索元信息 var isbnFilter={ //中山大学 SYSU: { respond:function (reDetails,frameLocation,fullUrl) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SYSU"); msg.state="error"; msg.errorMsg="ISBN连接错误"; messageCatcher(msg,frameLocation); return; } //document.getElementById("footer").textContent=reDetails.responseText; if(reDetails.responseText.indexOf('indexpage')!=-1){ var msg = new LibMeta("SYSU"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('Search R###lts')!=-1){ titleFilter.SYSU.filter(reDetails.responseText,fullUrl,frameLocation); } else{ isbnFilter.SYSU.filter(reDetails.responseText,frameLocation); } return; }, filter:function(gettxt,frameLocation){ ///////////////////////////////////////////////////////// str = gettxt; str = str.replace(/[ | ]*\n/g,''); //去除行尾空白 str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行 str = str.replace(/amp;/g,""); //去除URL转码 ///获取一整块 var eBook; eBook = null; if(str.match(/电子资源定位/)){ //document.getElementById("footer").textContent=str; eBook = str.match(/电子资源定位.*?jpg.*?File Extension: url">(.*?)<\/a>/)[1]; } if(!eBook&&str.indexOf("索书")==-1){ var msg = new LibMeta("SYSU"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } str = str.match(/全部馆藏(.*?)所有单册借阅状态/g) var txt = str[0]; txt = txt.match(/http:.*?sub_library=/)[0]; GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : txt, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SYSU"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } var libra =document.createElement("div"); libra.innerHTML = reDetails.responseText; isbnFilter.SYSU.getBookinfo(libra.innerHTML,eBook,frameLocation,txt);//回调函数馆藏位置获取 } }); }, /////////////////回调函数馆藏位置获取//////////////////////////////////////// getBookinfo:function(webText,eBook,frameLocation,url){ var hasBook = true; webText = webText.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,""); ///防止无书籍的情况发生 if(webText.indexOf('无匹配单册')!=-1){ var msg = new LibMeta("SYSU"); msg.state="recommend"; messageCatcher(msg,frameLocation); return null; } else{ blockBook = webText.match(/OPAC注释(.*?)<\/tbody>/)[1]; borrowItem = blockBook.match(/<tr>.*?<\/tr>/g); var loan = new Array(); for(k=0;k<borrowItem.length;k++){ loan[k] = borrowItem[k].match(/<!--Loan.*?td1">(.*?)<\/td>.*?date.*?td1">(.*?)<\/td>.*?hour.*?td1>(.*?)<\/td>.*?Sub.*?nowrap="">(.*?)<\/td>.*?Collection.*?nowrap="">(.*?)<\/td>.*?td1">(.*?)<\/td>/); /////借书类型/时间/到期/分馆/馆藏地/索书号 } } ///////////////// if(hasBook){ var storeList = new LibMeta("SYSU"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<borrowItem.length;s++){ //allBook += bookStatus; storeList.items[s]=new StoreItem("SYSU"); storeList.items[s].storeState=loan[s][1]; storeList.items[s].returnTime=loan[s][2].replace(/<br>/,""); storeList.items[s].branch=loan[s][4]; storeList.items[s].link=url; storeList.items[s].location=loan[s][5]; storeList.items[s].bookIndex=loan[s][6]; if(storeList.items[s].storeState.indexOf('外借')!=-1&&storeList.items[s].returnTime.indexOf("在架上")!=-1&&storeList.items[s].storeState.indexOf('闭架')==-1){ storeList.items[s].rentable=true; } } if(eBook){ var itemsLength=storeList.items.length; storeList.items[itemsLength]=new StoreItem("SYSU"); storeList.items[itemsLength].link=eBook; storeList.items[itemsLength].type="eBook"; storeList.items[itemsLength].storeState="电子书"; }; } messageCatcher(storeList,frameLocation); return null; //////////////////////完成框架插入////////////// } }, //华南理工大学 SCUT:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SCUT"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('无符合')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("SCUT"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.SCUT.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,""); rowText = text.match(/javascript:book_detail.*?<\/tr>/g); var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/\((\d+\.?\d*)\)">(.*?)<\/a>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>/); bookBlock[s].shift(); } var list = new LibMeta("SCUT");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("SCUT"); list.items[s].link ="http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid="+bookBlock[s][0]+"&cmdACT=query.bookdetail&libcode="; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].bookIndex = bookBlock[s][6]; list.items[s].pubDate = bookBlock[s][5]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SCUT"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,""); text=text.match(/id="queryholding".*?<\/table>/); var row; row=text[0].match(/<tr>.*?<\/tr>/g); row.shift(); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/"8%">(.*?)<\/td>.*?F">(.*?)<\/td.*?8%">(.*?)<\/td>.*?4%">(.*?)<\/td>.*?8%">(.*?)<\/td>.*?8%">(.*?)<\/td>.*?0%">(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("SCUT"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("SCUT"); storeList.items[s].storeState=storeBlock[s][5].replace(/ /g,""); storeList.items[s].returnTime=storeBlock[s][6]; storeList.items[s].branch=storeBlock[s][0]; storeList.items[s].location = storeBlock[s][1]; storeList.items[s].bookIndex = storeBlock[s][2]; storeList.items[s].link = finalUrl; if(storeList.items[s].storeState.indexOf('在馆')!=-1&&storeList.items[s].branch.indexOf('停')==-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //南##一般大学 SCNU:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SCNU"); msg.state="error"; msg.errorMsg="ISBN连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("SCNU"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.SCNU.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,""); rowText = text.match(/book_list_info.*?<img/); var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/); bookBlock[s].shift(); } var list = new LibMeta("SCNU");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("SCNU"); list.items[s].link ="http://202.116.41.246:8080/opac/item.php?marc_no="+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][5]; list.items[s].publisher = bookBlock[s][6]; list.items[s].bookIndex = bookBlock[s][2]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SCNU"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; row=text.match(/whitetext.*?left/g); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/"10%">(.*?)<\/td>.*?title="(.*?)">.*?20%">(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("SCNU"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("SCNU"); storeList.items[s].storeState=storeBlock[s][2].replace(/ /g,""); storeList.items[s].branch=storeBlock[s][1]; storeList.items[s].bookIndex = storeBlock[s][0]; storeList.items[s].link = finalUrl; if(storeList.items[s].storeState.indexOf('可借')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //广东工业大学 GDUT:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUT"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("GDUT"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.GDUT.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); rowText = text.match(/class="tb".*?<\/table>/); var bookBlock = new Array(); bookBlock[0]=rowText[0].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); bookBlock[0].shift(); var list = new LibMeta("GDUT");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("GDUT"); list.items[s].link ="http://222.200.98.171:81/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUT"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; row=text.match(/<tbody>.*?<\/tbody>/); row[0].replace(/ /g,""); row = row[0].match(/<tr>.*?<\/tr>/g); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/showLibInfo.*?'>(.*?)<\/a><\/td><td>(.*?)<\/td><td>(.*?)<\/td>.*?tbr.*?<td>.*?<td>(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("GDUT"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("GDUT"); storeList.items[s].storeState=storeBlock[s][3]; storeList.items[s].branch=storeBlock[s][0]; storeList.items[s].bookIndex = storeBlock[s][1]; storeList.items[s].link = finalUrl; if(storeList.items[s].storeState.indexOf('可供出借')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //外语外贸大学 GDUFS:{ respond:function (reDetails,frameLocation,fullUrl) { //var fullUrl = reDetails.finalUrl; if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUFS"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } //document.getElementById("footer").textContent=reDetails.responseText; if(reDetails.responseText.indexOf('indexpage')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("GDUFS"); msg.state="recommend"; //hasBook = false; //recommendBook(); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('Search R###lts')!=-1){ titleFilter.GDUFS.filter(reDetails.responseText,fullUrl,frameLocation); } else{ isbnFilter.GDUFS.filter(reDetails.responseText,frameLocation); } return; }, filter:function(gettxt,frameLocation){ ///////////////////////////////////////////////////////// str = gettxt; str = str.replace(/[ | ]*\n/g,''); //去除行尾空白 str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行 str = str.replace(/amp;/g,""); //去除URL转码 ///获取一整块 var eBook; eBook = null; if(str.match(/电子资源定位/)){ eBook = str.match(/电子资源定位.*?jpg.*?File Extension: url">(.*?)<\/a>/)[1]; } if(!eBook&&str.indexOf("索书")==-1){ var msg = new LibMeta("GDUFS"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } str = str.match(/全部馆藏(.*?)所有单册/g) var txt = str[0]; txt = txt.match(/http:.*?sub_library=/); where=txt; GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : where[0], onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUFS"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } var libra =document.createElement("div"); libra.innerHTML = reDetails.responseText; isbnFilter.GDUFS.getBookinfo(libra.innerHTML,eBook,frameLocation,where[0]);//回调函数馆藏位置获取 } }); }, /////////////////回调函数馆藏位置获取//////////////////////////////////////// getBookinfo:function(webText,eBook,frameLocation,finalUrl){ var hasBook = true; webText = webText.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,""); ///防止无书籍的情况发生 if(webText.indexOf('无匹配单册')!=-1){ var msg = new LibMeta("GDUFS"); msg.state="recommend"; messageCatcher(msg,frameLocation); } else{ blockBook = webText.match(/OPAC注释(.*?)<\/tbody>/)[1]; //alert(typeof blockBook); borrowItem = blockBook.match(/<tr>.*?<\/tr>/g); //alert(borrowItem[0]); var loan = new Array(); for(k=0;k<borrowItem.length;k++){ loan[k] = borrowItem[k].match(/<!--Loan.*?td1">(.*?)<\/td>.*?date.*?td1">(.*?)<\/td>.*?hour.*?td1>(.*?)<\/td>.*?Sub.*?nowrap="">(.*?)<\/td>.*?Location.*?td1">(.*?)<\/td>/); /////借书类型/时间/到期/位置/索书号 } } ///////////////// if(hasBook){ //alert("hasBook"); var storeList = new LibMeta("GDUFS"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<borrowItem.length;s++){ storeList.items[s]=new StoreItem("GDUFS"); storeList.items[s].storeState=loan[s][1]; storeList.items[s].returnTime=loan[s][2].replace(/<br>/,""); storeList.items[s].branch=loan[s][4]; storeList.items[s].bookIndex=loan[s][5]; storeList.items[s].link=finalUrl; if(storeList.items[s].storeState.indexOf('外借')!=-1&&storeList.items[s].returnTime.indexOf('在架上')!=-1&&storeList.items[s].storeState.indexOf('闭架')==-1){//闭架无法预约 storeList.items[s].rentable=true; } } if(eBook){ var itemsLength=storeList.items.length; storeList.items[itemsLength]=new StoreItem("GDUFS"); storeList.items[itemsLength].link=eBook; storeList.items[itemsLength].type="eBook"; storeList.items[itemsLength].storeState="电子书"; }; } messageCatcher(storeList,frameLocation); //////////////////////完成框架插入////////////// } }, //广州中医药大学 GZHTCM:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZHTCM"); msg.state="error"; msg.errorMsg="ISBN连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("GZHTCM"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.GZHTCM.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,""); rowText = text.match(/book_list_info.*?<img/); //document.getElementById("reviews").textContent=rowText; var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/); bookBlock[s].shift(); } var list = new LibMeta("GZHTCM");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("GZHTCM"); list.items[s].link ="http://210.38.102.131:86/opac/item.php?marc_no="+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][5]; list.items[s].publisher = bookBlock[s][6]; list.items[s].bookIndex = bookBlock[s][2]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZHTCM"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; row=text.match(/whitetext.*?left/g); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/"10%">(.*?)<\/td>.*?gif"\/>(.*?)<\/td>.*?20%">(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("GZHTCM"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("GZHTCM"); storeList.items[s].storeState=storeBlock[s][2].replace(/ /g,""); storeList.items[s].branch=storeBlock[s][1]; storeList.items[s].bookIndex = storeBlock[s][0]; storeList.items[s].link = finalUrl; if(storeList.items[s].storeState.indexOf('可借')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //广州大学 GZHU:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZHU"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('找不到')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("GZHU"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.GZHU.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,""); rowText = text.match(/book_info>.*?<\/div>/g); var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/href="(.*?)"target="_blank">(.*?)<\/a><span>(.*?)<\/span>.*?<h4>(.*?) /); bookBlock[s].shift(); } var list = new LibMeta("GZHU");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("GZHU"); list.items[s].link ="http://lib.gzhu.edu.cn:8080"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZHU"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; var bookIndex = text.match(/索书号.*?<td>(.*?)<\/td>/)[1]; text=text.match(/holdings_info_content.*?clear/); row = text[0].match(/<td>.*?<\/tr>/g); var storeBlock= new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<a.*?<\/tr>/); storeBlock[s].shift(); } var storeList = new LibMeta("GZHU"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("GZHU"); storeList.items[s].storeState=storeBlock[s][1]; storeList.items[s].returnTime=storeBlock[s][3]; storeList.items[s].branch=storeBlock[s][4]; storeList.items[s].link=finalUrl; storeList.items[s].bookIndex=bookIndex; if(storeList.items[s].storeState.indexOf('在馆')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //广州美术学院 GZARTS:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZARTS"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("GZARTS"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.GZARTS.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); rowText = text.match(/class="tb".*?<\/table>/); var bookBlock = new Array(); bookBlock[0]=rowText[0].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); //alert(bookBlock[0].length); bookBlock[0].shift(); var list = new LibMeta("GZARTS");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("GZARTS"); list.items[s].link ="http://121.33.246.167/opac/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZARTS"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; row=text.match(/<tbody>.*?<\/tbody>/); row[0].replace(/ /g,""); row = row[0].match(/<tr>.*?<\/tr>/g); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/showLibInfo.*?'>(.*?)<\/a><\/td><td>(.*?)<\/td><td>(.*?)<\/td>.*?tbr.*?<td>.*?<td>(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("GZARTS"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("GZARTS"); storeList.items[s].storeState=storeBlock[s][3]; //storeList.items[s].returnTime=storeBlock[s][2]; storeList.items[s].branch=storeBlock[s][0]; //storeList.items[s].location = storeBlock[s][1]; storeList.items[s].bookIndex = storeBlock[s][1]; storeList.items[s].link=finalUrl; if(storeList.items[s].storeState.indexOf('可供出借')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //星海音乐学院 XHCOM:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("XHCOM"); msg.state="error"; msg.errorMsg="ISBN连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("XHCOM"); msg.state="recommend"; messageCatcher(msg,frameLocation); return; } isbnFilter.XHCOM.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); rowText = text.match(/class="tb".*?<\/table>/); var bookBlock = new Array(); bookBlock[0]=rowText[0].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); //alert(bookBlock[0].length); bookBlock[0].shift(); var list = new LibMeta("XHCOM");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("XHCOM"); list.items[s].link ="http://218.192.148.33:81/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } //进一步获取馆藏 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false, url : list.items[0].link, onload : function (reDetails) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("XHCOM"); msg.state="error"; msg.errorMsg="无法获取馆藏列表"; //alert("ISBN连接错误");//后续版本再处理 messageCatcher(msg,frameLocation); return; } getStoreFilter(reDetails.responseText,frameLocation,list.items[0].link);//回调函数馆藏位置获取 } }); function getStoreFilter(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var row; row=text.match(/<tbody>.*?<\/tbody>/); row[0].replace(/ /g,""); //alert(row[0]); row = row[0].match(/<tr>.*?<\/tr>/g); var storeBlock = new Array(); for(s=0;s<row.length;s++){ storeBlock[s] = row[s].match(/showLibInfo.*?'>(.*?)<\/a><\/td><td>(.*?)<\/td><td>(.*?)<\/td>.*?tbr.*?<td>.*?<td>(.*?)<\/td>/); storeBlock[s].shift(); } var storeList = new LibMeta("XHCOM"); storeList.state="store"; storeList.items= new Array(); for(s=0;s<storeBlock.length;s++){ storeList.items[s]=new StoreItem("XHCOM"); storeList.items[s].storeState=storeBlock[s][3]; //storeList.items[s].returnTime=storeBlock[s][2]; storeList.items[s].branch=storeBlock[s][0]; //storeList.items[s].location = storeBlock[s][1]; storeList.items[s].bookIndex = storeBlock[s][1]; storeList.items[s].link=finalUrl; if(storeList.items[s].storeState.indexOf('可供出借')!=-1){ storeList.items[s].rentable=true; } } messageCatcher(storeList,frameLocation); return; } } }, //广东药学院,由于编码问题和没提供ISBN检索,暂不支持// } //函数:提取title搜索元信息 var titleFilter={ //中山大学 SYSU:{ respond:function(reDetails,frameLocation,fullUrl) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SYSU"); msg.state = "error"; msg.errorMsg = "搜索连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('Search R###lts')!=-1){ titleFilter.SYSU.filter(reDetails.responseText,fullUrl,frameLocation); return; } else if(reDetails.responseText.indexOf('记录数')!=-1||reDetails.responseText.indexOf('轮排')!=-1){ var msg = new LibMeta("SYSU"); msg.state = "error"; msg.errorMsg = "搜索页面跳转到了款目/轮排列表页面,<br>此页面无法获取图书详细信息。"; messageCatcher(msg,frameLocation); return; } else{ isbnFilter.SYSU.filter(reDetails.responseText,frameLocation); return; // } }, filter:function (txt,urltext,frameLocation){ str = txt; str = str.replace(/[ | ]*\n/g,''); //去除行尾空白 str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行 str = str.replace(/amp;/g,""); //去除URL转码 atxt= str.match(/col2>.*?<\/table>/g); ///////获取图书馆书本元信息////// var bookDetail = new Array();//元信息数组 atxt.shift();//去除整块信息中的多余信息 for(s=0;s<atxt.length;s++){ bookDetail[s] = atxt[s].match(/a href=(.*?)>(.*?)<\/a>.*?top>(.*?)<td.*?top>(.*?)<tr>.*?top>(.*?)<td.*?top>(.*?)<tr>/).slice(1); // 超链接/ 书名 /作者 / 索引号/出版社 /年份 / } ////////框架////////////////////////////////// //判断URL类型 if(urltext.indexOf('ISB')!=-1){ var allBook = '<div class="gray_ad" id="sysulib"><h2>中大ISBN检索</h2>' + '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>'; } else{ var allBook = '<div class="gray_ad" id="sysulib"><h2>中大图书馆检索</h2>' + '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>'; } var display; var list = new LibMeta("SYSU");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<bookDetail.length;s++){ if(s>4){ display=" ;display : none"; } else{ display=""; } list.items[s] = new LibItem("SYSU"); list.items[s].link = bookDetail[s][0]; list.items[s].bookName = bookDetail[s][1]; list.items[s].author = bookDetail[s][2]; list.items[s].publisher = bookDetail[s][4]; list.items[s].pubDate = bookDetail[s][5]; } messageCatcher(list,frameLocation); //判断URL ///////////////判断URL //} ////////////插入框架结束////////////// } }, //华南理工大学 SCUT:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("SCUT"); msg.state="error"; msg.errorMsg="全字段连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('无符合')!=-1){ var msg = new LibMeta("SCUT"); msg.state="error"; msg.errorMsg="全字段查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.SCUT.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,""); rowText = text.match(/javascript:book_detail.*?<\/tr>/g); var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/\((\d+\.?\d*)\)">(.*?)<\/a>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>/); bookBlock[s].shift(); } var list = new LibMeta("SCUT");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("SCUT"); list.items[s].link ="http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid="+bookBlock[s][0]+"&cmdACT=query.bookdetail&libcode="; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].bookIndex = bookBlock[s][6]; list.items[s].pubDate = bookBlock[s][5]; } messageCatcher(list,frameLocation); return; } }, //南##一般大学 SCNU:{ respond: function (reDetails, frameLocation) { if (reDetails.status !== 200 && reDetails.status !== 304) { var msg = new LibMeta('SCNU'); msg.state = 'error'; msg.errorMsg = '全字段检索连接错误'; messageCatcher(msg, frameLocation); return; } if (reDetails.responseText.indexOf('没有') != - 1) { //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta('SCNU'); msg.state = 'error'; msg.errorMsg = '全字段查无此书'; messageCatcher(msg, frameLocation); return; } titleFilter.SCNU.filter(reDetails.responseText, frameLocation); }, filter: function (text, frameLocation) { text = text.replace(/[ | ]*\n/g, '').replace(/\n[\s| | ]*\r/g, '').replace(/amp;/g, '').replace(/ /g, '').replace(/\r/g, ''); rowText = text.match(/book_list_info.*?<img/g); var bookBlock = new Array(); var bookDetail = new Array(); for (s = 0; s < rowText.length; s++) { bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/); bookBlock[s].shift(); } var list = new LibMeta('SCNU'); ////构造函数 list.state = 'booklist'; list.items = new Array(); for (s = 0; s < rowText.length; s++) { list.items[s] = new LibItem('SCNU'); list.items[s].link = 'http://202.116.41.246:8080/opac/item.php?marc_no=' + bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][5]; list.items[s].publisher = bookBlock[s][6]; list.items[s].bookIndex = bookBlock[s][2]; } messageCatcher(list,frameLocation); return; } }, //广东工业大学 GDUT:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUT"); msg.state="error"; msg.errorMsg="全字段连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("GDUT"); msg.state="error"; msg.errorMsg="全字段查无此书"; messageCatcher(msg,frameLocation); return; } //document.getElementById("reviews").textContent=reDetails.responseText; titleFilter.GDUT.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); rowText = text.match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/g); var bookBlock = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s]=rowText[s].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); bookBlock[s].shift(); } bookBlock[0].shift(); var list = new LibMeta("GDUT");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<bookBlock.length;s++){ list.items[s] = new LibItem("GDUT"); list.items[s].link ="http://222.200.98.171:81/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } messageCatcher(list,frameLocation); } }, //外语外贸大学 GDUFS:{ respond:function(reDetails,frameLocation,fullUrl) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GDUFS"); msg.state = "error"; msg.errorMsg = "搜索连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('Search R###lts')!=-1){ titleFilter.GDUFS.filter(reDetails.responseText,fullUrl,frameLocation); return; } else if(reDetails.responseText.indexOf('记录数')!=-1||reDetails.responseText.indexOf('轮排')!=-1){ var msg = new LibMeta("GDUFS"); msg.state = "error"; msg.errorMsg = "搜索页面跳转到了款目/轮排列表页面,<br>此页面无法获取图书详细信息。"; messageCatcher(msg,frameLocation); return; } else{ isbnFilter.GDUFS.filter(reDetails.responseText,frameLocation); return; // } }, filter:function (txt,urltext,frameLocation){ str = txt; str = str.replace(/[ | ]*\n/g,''); //去除行尾空白 str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行 str = str.replace(/amp;/g,""); //去除URL转码 atxt= str.match(/col2>.*?<\/table>/g); ///////获取图书馆书本元信息////// var bookDetail = new Array();//元信息数组 atxt.shift();//去除整块信息中的多余信息 for(s=0;s<atxt.length;s++){ bookDetail[s] = atxt[s].match(/a href=(.*?)>(.*?)<\/a>.*?top>(.*?)<td.*?top>(.*?)<tr>.*?top>(.*?)<td.*?top>(.*?)<tr>/).slice(1); // 超链接/ 书名 /作者 / 索引号/出版社 /年份 / } ////////框架////////////////////////////////// var display; var list = new LibMeta("GDUFS");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<bookDetail.length;s++){ if(s>4){ display=" ;display : none"; } else{ display=""; } list.items[s] = new LibItem("GDUFS"); list.items[s].link = bookDetail[s][0]; list.items[s].bookName = bookDetail[s][1]; list.items[s].author = bookDetail[s][2].replace(/<br>/,"").replace(/<br\/>/,""); list.items[s].publisher = bookDetail[s][4]; list.items[s].pubDate = bookDetail[s][5]; } messageCatcher(list,frameLocation); //判断URL ///////////////判断URL //} ////////////插入框架结束////////////// } }, //广州中医药大学 GZHTCM:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZHTCM"); msg.state="error"; msg.errorMsg="全字段连接错误"; messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ //alert("ISBN查无此书"); //增加荐购 var msg = new LibMeta("GZHTCM"); msg.state="error"; msg.errorMsg="全字段查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.GZHTCM.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,""); rowText = text.match(/book_list_info.*?<img/g); var bookBlock = new Array(); var bookDetail = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/); bookBlock[s].shift(); } var list = new LibMeta("GZHTCM");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("GZHTCM"); list.items[s].link ="http://210.38.102.131:86/opac/item.php?marc_no="+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][5]; list.items[s].publisher = bookBlock[s][6]; list.items[s].bookIndex = bookBlock[s][2]; } messageCatcher(list,frameLocation); } }, //广州大学 GZHU:{ respond: function (reDetails, frameLocation) { if (reDetails.status !== 200 && reDetails.status !== 304) { var msg = new LibMeta('GZHU'); msg.state = 'error'; msg.errorMsg = '全字段连接错误'; messageCatcher(msg, frameLocation); return; } if (reDetails.responseText.indexOf('找不到') != - 1) { var msg = new LibMeta('GZHU'); msg.state = 'error'; msg.errorMsg = '全字段查无此书'; messageCatcher(msg, frameLocation); return; } titleFilter.GZHU.filter(reDetails.responseText, frameLocation); }, filter: function (text, frameLocation) { text = text.replace(/[ | ]*\n/g, '').replace(/\n[\s| | ]*\r/g, '').replace(/amp;/g, '').replace(/ /g, '').replace(/\r/g, ''); rowText = text.match(/book_info>.*?<\/div>/g); var bookBlock = new Array(); var bookDetail = new Array(); for (s = 0; s < rowText.length; s++) { bookBlock[s] = rowText[s].match(/href="(.*?)"target="_blank">(.*?)<\/a><span>(.*?)<\/span>.*?<h4>(.*?) /); bookBlock[s].shift(); } var list = new LibMeta('GZHU'); ////构造函数 list.state = 'booklist'; list.items = new Array(); for (s = 0; s < rowText.length; s++) { list.items[s] = new LibItem('GZHU'); list.items[s].link = 'http://lib.gzhu.edu.cn:8080' + bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; } messageCatcher(list,frameLocation); return; } }, //广州美术学院 GZARTS:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("GZARTS"); msg.state="error"; msg.errorMsg="全字段连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("GZARTS"); msg.state="error"; msg.errorMsg="全字段查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.GZARTS.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); rowText = text.match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/g); var bookBlock = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s]=rowText[s].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); bookBlock[s].shift(); } bookBlock[0].shift(); var list = new LibMeta("GZARTS");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<bookBlock.length;s++){ list.items[s] = new LibItem("GZARTS"); list.items[s].link ="http://121.33.246.167/opac/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } messageCatcher(list,frameLocation); } }, //星海音乐学院 XHCOM:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("XHCOM"); msg.state="error"; msg.errorMsg="全字段连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有')!=-1){ var msg = new LibMeta("XHCOM"); msg.state="error"; msg.errorMsg="全字段查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.XHCOM.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,""); var rowText=text.match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/g) var bookBlock = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s]=rowText[s].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/); bookBlock[s].shift(); } var list = new LibMeta("XHCOM");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<bookBlock.length;s++){ list.items[s] = new LibItem("XHCOM"); list.items[s].link ="http://121.33.246.167/opac/"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].pubDate = bookBlock[s][4]; } messageCatcher(list,frameLocation); } }, //超星发现全字段 zhizhen:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("zhizhen"); msg.state="error"; msg.errorMsg="超星发现全字段连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } if(reDetails.responseText.indexOf('没有找到')!=-1||reDetails.responseText.indexOf('不在IP')!=-1){ var msg = new LibMeta("zhizhen"); msg.state="error"; msg.errorMsg="超星发现全字段查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.zhizhen.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,""); var rowText = text.match(/savelist.*?form/g); var bookBlock = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s]=rowText[s].match(/[图书].*?href="(\/detail.*?)" target="_blank">(.*?)<\/a>.*?作者:(.*?)<\/li>.*?出处:(.*?) /); if(bookBlock[s]==null){ bookBlock[s]=bookBlock[s-1]; continue; } bookBlock[s].shift(); //链接|书名|作者|出处 getInfo = rowText[s].match(/获得途径:<\/span>(.*?)<\/li>/); if(getInfo){ getInfo[1] = getInfo[1].replace(/href="/g,'href="http://ss.zhizhen.com').replace(/href=\//g,'href=http://ss.zhizhen.com/'); bookBlock[s][4] = getInfo[1]; // } else{ bookBlock[s][4]="无获取途径"; } } var list = new LibMeta("zhizhen");////构造函数 list.state="zhizhen"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("zhizhen"); list.items[s].link ="http://ss.zhizhen.com"+bookBlock[s][0]; list.items[s].bookName = bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; list.items[s].extra = bookBlock[s][4]; } messageCatcher(list,frameLocation); } }, //超星读书全字段 chaoxing:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("chaoxing"); msg.state="error"; msg.errorMsg="超星读书全字段连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } //document.getElementById("footer").textContent=reDetails.responseText; if(reDetails.responseText.indexOf('没有找到')!=-1){ var msg = new LibMeta("chaoxing"); msg.state="error"; msg.errorMsg="超星读书题名查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.chaoxing.filter(reDetails.responseText,frameLocation); }, filter:function(text,frameLocation){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,""); var rowText = text.match(/pic_upost.*?name.*?<\/p>/g); var bookBlock = new Array(); for(s=0;s<rowText.length;s++){ bookBlock[s]=rowText[s].match(/title="(.*?)".*?href="(.*?)".*?class="name".*?<span>(.*?)<\/span>/); bookBlock[s].shift(); //|书名|链接|作者 } var list = new LibMeta("chaoxing");////构造函数 list.state="chaoxing"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("chaoxing"); list.items[s].bookName = bookBlock[s][0]; list.items[s].link ="http://book.chaoxing.com"+bookBlock[s][1]; list.items[s].author = bookBlock[s][2]; } messageCatcher(list,frameLocation); } }, EBSCO:{ respond:function (reDetails,frameLocation) { if (reDetails.status !== 200&&reDetails.status !== 304){ var msg = new LibMeta("EBSCO"); msg.state="error"; msg.errorMsg="EBSCO读书全字段连接错误"; //alert("ISBN连接错误"); messageCatcher(msg,frameLocation); return; } //document.getElementById("footer").textContent=reDetails.responseText; if(reDetails.responseText.indexOf('没有找到')!=-1){ var msg = new LibMeta("EBSCO"); msg.state="error"; msg.errorMsg="EBSCO读书题名查无此书"; messageCatcher(msg,frameLocation); return; } titleFilter.EBSCO.filter(reDetails.responseText,frameLocation,reDetails.finalUrl); }, filter:function(text,frameLocation,finalUrl){ text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,""); var rowText = text.match(/title-link-wrapper.*?treelist-group/g); //alert(rowText.length); var bookBlock = new Array(); var fullText; var abbrUrl=finalUrl.match(/(.*?)r###lts/)[1]; for(s=0;s<rowText.length;s++){ //alert(rowText[s]); bookBlock[s]=rowText[s].match(/href="(.*?)".*?title="(.*?)".*?caption.*?By:(.*?):(.*?)<p/); //link//题名//作者//出版社 var fullTextLink = null; var fullTextLink=rowText[s].match(/title="PDF Full Text" href="(.*?)"/); //link//书名// bookBlock[s].shift(); if(fullTextLink) fullTextLink.shift(); fullTextLink=abbrUrl+fullTextLink; if(fullTextLink) bookBlock[s][4]=fullTextLink; //document.getElementById("footer").textContent+=s+" "+bookBlock[s]+"\n"+"\n"; } var list = new LibMeta("EBSCO");////构造函数 list.state="booklist"; list.items= new Array(); for(s=0;s<rowText.length;s++){ list.items[s] = new LibItem("EBSCO"); list.items[s].bookName = bookBlock[s][1]; list.items[s].link =bookBlock[s][0]; list.items[s].author = bookBlock[s][2]; list.items[s].publisher = bookBlock[s][3]; if(bookBlock[s][4]) list.items[s].extra = bookBlock[s][4]; } messageCatcher(list,frameLocation); } }, //广东药学院,由于编码问题和没提供ISBN检索,暂不支持// GDPU:{ respond:function (reDetails,frameLocation) { }, filter:function(text,frameLocation){ } } } //////////////////图书馆荐购页面Main////////////////////////////////////// libRecommend = { SYSU: function () { if (document.getElementsByName("Z13_TITLE")&&GM_getValue('doubanTitle')) { document.getElementsByName("Z13_TITLE")[0].value=GM_getValue('doubanTitle', 'bookMeta.title'); document.getElementsByName("Z13_AUTHOR")[0].value=GM_getValue('doubanAuthor', 'bookMeta.author'); document.getElementsByName("Z13_IMPRINT")[0].value=GM_getValue('doubanPublisher', 'bookMeta.publisher'); document.getElementsByName("Z13_YEAR")[0].value=GM_getValue('doubanPubdate', 'bookMeta.pubdate'); document.getElementsByName("Z13_ISBN_ISSN")[0].value=GM_getValue('doubanIsbn', 'bookMeta.isbn'); document.getElementsByName("Z13_PRICE")[0].value=GM_getValue('doubanPrice', 'bookMeta.price'); document.getElementsByName("Z68_NO_UNITS")[0].value=2; document.getElementsByName("Z303_REC_KEY")[0].value=prefs.libraryId; document.getElementsByName("Z46_REQUEST_PAGES")[0].value='豆瓣读书得分: ' + GM_getValue('doubanRating', 'bookMeta.rating'); if(GM_getValue('doubanLanguage','zh')=="en") document.getElementsByName("LIBRARY")[0].value="02";//语言为外语时 GM_deleteValue('doubanTitle'); GM_deleteValue('doubanAuthor'); GM_deleteValue('doubanPublisher'); GM_deleteValue('doubanPubdate'); GM_deleteValue('doubanIsbn'); GM_deleteValue('doubanPrice'); GM_deleteValue('doubanRating'); } }, SCUT: function () { var pubDate = document.getElementById('b_date'); if (!pubDate) { return null; } var publisher = document.getElementById('b_pub'); var author = document.getElementsByName('F210$c') [0]; var title = document.getElementsByName('F200$a') [0]; var ISBN = document.getElementsByName('F010$a') [0]; var recommendText = document.getElementsByName('F330$a') [0]; title.value = GM_getValue('doubanTitle', 'bookMeta.title'); author.value = GM_getValue('doubanAuthor', 'bookMeta.author'); publisher.value = GM_getValue('doubanPublisher', 'bookMeta.publisher'); pubDate.value = GM_getValue('doubanPubdate', 'bookMeta.pubdate'); ISBN.value = GM_getValue('doubanIsbn', 'bookMeta.isbn'); recommendText.value = '豆瓣读书得分: ' + GM_getValue('doubanRating', 'bookMeta.rating'); GM_deleteValue('doubanTitle'); GM_deleteValue('doubanAuthor'); GM_deleteValue('doubanPublisher'); GM_deleteValue('doubanPubdate'); GM_deleteValue('doubanIsbn'); GM_deleteValue('doubanPrice'); GM_deleteValue('doubanRating'); }, GDUFS: function () { if (document.getElementsByName("Z13_TITLE")&&GM_getValue('doubanTitle')) { document.getElementsByName("Z13_TITLE")[0].value=GM_getValue('doubanTitle', 'bookMeta.title'); document.getElementsByName("Z13_AUTHOR")[0].value=GM_getValue('doubanAuthor', 'bookMeta.author'); document.getElementsByName("Z13_IMPRINT")[0].value=GM_getValue('doubanPublisher', 'bookMeta.publisher'); document.getElementsByName("Z13_YEAR")[0].value=GM_getValue('doubanPubdate', 'bookMeta.pubdate'); document.getElementsByName("Z13_ISBN_ISSN")[0].value=GM_getValue('doubanIsbn', 'bookMeta.isbn'); document.getElementsByName("Z13_PRICE")[0].value=GM_getValue('doubanPrice', 'bookMeta.price'); document.getElementsByName("Z68_NO_UNITS")[0].value=2; document.getElementsByName("Z303_REC_KEY")[0].value=prefs.libraryId; document.getElementsByName("Z46_REQUEST_PAGES")[0].value='豆瓣读书得分: ' + GM_getValue('doubanRating', 'bookMeta.rating'); if(GM_getValue('doubanLanguage','zh')=="en") document.getElementsByName("LIBRARY")[0].value="02";//语言为外语时 GM_deleteValue('doubanTitle'); GM_deleteValue('doubanAuthor'); GM_deleteValue('doubanPublisher'); GM_deleteValue('doubanPubdate'); GM_deleteValue('doubanIsbn'); GM_deleteValue('doubanPrice'); GM_deleteValue('doubanRating'); GM_deleteValue('doubanLanguage'); } } } ///////////////////图书馆荐购页面结束////////////////// ///////////////////框架////////////////// titleFrame=function(){ function showOtherFrame(){ document.getElementById("libTitle").style.display="none"; document.getElementById("otherTitle").style.display="block"; document.getElementById("jaysonTitle").style.display="none"; defineClass=this.getAttribute("data-ready"); this.setAttribute("class","blue"); document.getElementById("clickTitle").setAttribute("class",""); document.getElementById("clickJaysonTitle").setAttribute("class",""); if(!defineClass){ this.setAttribute("data-ready","already"); otherTitle(); } } function showOriginFrame(){ document.getElementById("libTitle").style.display="block"; document.getElementById("otherTitle").style.display="none"; document.getElementById("jaysonTitle").style.display="none"; this.setAttribute("class","blue"); document.getElementById("clickOtherTitle").setAttribute("class",""); document.getElementById("clickJaysonTitle").setAttribute("class",""); } function showJaysonFrame(){ document.getElementById("libTitle").style.display="none"; document.getElementById("otherTitle").style.display="none"; document.getElementById("jaysonTitle").style.display="block"; defineClass=this.getAttribute("data-ready"); this.setAttribute("class","blue"); document.getElementById("clickTitle").setAttribute("class",""); document.getElementById("clickOtherTitle").setAttribute("class",""); if(!defineClass){ this.setAttribute("data-ready","already"); jaysonTitle();//改为谷歌 } } var frame = document.createElement("div"); googleCustomUrl="https://www.google.com/cse?q="+bookMeta.title+"&newwindow=1&cx=006100883259189159113%3Atwgohm0sz8q"; var otherTabName="超星"; if(bookMeta.lan=="en") otherTabName="EBSCO"; frame.innerHTML='<ul class="tabmenu">'+ '<li id="clickTitle" class="blue"><a>'+schoolInfo[prefs.school].abbrName+'</a></li>'+ '<li id="clickOtherTitle"><a>'+otherTabName+'</a></li>'+ '<li id="clickJaysonTitle"><a>'+'谷歌聚合搜索'+'</a></li>'+ '</ul>'+ '<div id="libTitle" class="tab_content libBottom">'+'<h2>'+schoolInfo[prefs.school].abbrName+'图书馆全字段检索</h2>'+'</div>'+ '<div id="otherTitle" class="tab_content libBottom" style="display:none"><div id="mainOtherTitle">'+ '</div><div id="errorOtherTitle"></div>'+ '</div>'+ '<div id="jaysonTitle" class="tab_content libBottom" style="display:none">'+'<h2>'+ '<a target="_blank" class="gotobtn" href="'+googleCustomUrl+'">前往谷歌聚合搜索</a><br>'+ '</h2>'+ '<div id="googleLoading"><li class="loadingSource"><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAA###RmoxoxvQAYchQAOw=="> 努力加载中...</li></div>'+ '</div>'; frame.setAttribute("class","tablist title_div"); if(location.href.indexOf("ebook")!=-1){ var aside=document.getElementsByTagName("aside")[0]; } else{ var aside=document.querySelector(".aside"); } aside.insertBefore(frame,aside.firstChild.nextSibling); clickOther=document.getElementById("clickOtherTitle"); clickOther.addEventListener("click",showOtherFrame,false); clickOther=document.getElementById("clickTitle"); clickOther.addEventListener("click",showOriginFrame,false); clickOther=document.getElementById("clickJaysonTitle"); clickOther.addEventListener("click",showJaysonFrame,false); } ISBNFrame=function(){ function showOtherFrame(){ document.getElementById("libISBN").style.display="none"; document.getElementById("otherISBN").style.display="block"; defineClass=this.getAttribute("data-ready"); this.setAttribute("class","blue"); document.getElementById("clickISBN").setAttribute("class",""); if(!defineClass){ this.setAttribute("data-ready","already"); otherISBN(); } } function showOriginFrame(){ document.getElementById("libISBN").style.display="block"; document.getElementById("otherISBN").style.display="none"; this.setAttribute("class","blue"); document.getElementById("clickOtherISBN").setAttribute("class",""); } var frame = document.createElement("div"); var NLCfinalUrl = schoolInfo.NLC.isbnSearchUrl.replace(/%s/,bookMeta.isbn10); var CALISfinalUrl = schoolInfo.CALIS.isbnSearchUrl.replace(/%s/,bookMeta.isbn10); frame.innerHTML= '<ul class="tabmenu">'+ '<li id="clickISBN" class="blue"><a>'+schoolInfo[prefs.school].abbrName+'</a></li>'+ '<li id="clickOtherISBN"><a>其他图书馆</a></li>'+ '<li id="settingPop"><a>设置</a></li>'+ '</ul>'+ '<div id="libISBN" class="tab_content libTop">'+'<h2>'+schoolInfo[prefs.school].abbrName+'图书馆ISBN检索</h2>'+'</div>'+ '<div id="otherISBN" class="tab_content libTop" style="display:none"><div id="mainOtherISBN">'+ '<a target="_blank" class="gotobtn" href="'+CALISfinalUrl+'">前往CALIS</a>'+' '+'<a class="gotobtn" target="_blank" href="'+NLCfinalUrl+'">前往国家图书馆</a>'+ '</div><div id="errorOtherISBN"></div></div>';//+ frame.setAttribute("class","tablist"); if(location.href.indexOf("ebook")!=-1){ var aside=document.getElementsByTagName("aside")[0]; } else{ var aside=document.querySelector(".aside"); } aside.insertBefore(frame,aside.firstChild); clickOther=document.getElementById("clickOtherISBN"); clickOther.addEventListener("click",showOtherFrame,false); clickOther=document.getElementById("clickISBN"); clickOther.addEventListener("click",showOriginFrame,false); document.getElementById("settingPop").addEventListener("click",popSetting,false); } //////////////////////其它图书馆ISBN////////////////////////////////// function otherISBN(){ for(var key in schoolList){ if(schoolList[key]!=prefs.school){ //alert(school); mineISBN(schoolList[key],"otherISBN"); } } } //////////////////////超星其它////////////////////////////////// function otherTitle(){ //////////////////////////超星发现和超星读书 if(bookMeta.lan=="en"){ var fullUrl=schoolInfo.EBSCO.anySearchUrl.replace(/%s/,bookMeta.title);//外文图书 } else{ var fullUrl=schoolInfo.zhizhen.anySearchUrl.replace(/%s/,bookMeta.title); var fullUrl2=schoolInfo.chaoxing.anySearchUrl.replace(/%s/,bookMeta.title); } var frame=document.getElementById("mainOtherTitle"); var loadingFrame=document.createElement("div"); loadingFrame.setAttribute("id","otherTitleLoading"); loadingFrame.innerHTML= '<li class="loadingSource"><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAA###RmoxoxvQAYchQAOw=="> 努力加载中...</li>' var frameLink = document.createElement("a"); frameLink.setAttribute("target","_blank"); frameLink.innerHTML="前往查看检索"; frameLink.setAttribute("href",fullUrl); frame.appendChild(frameLink); frame.appendChild(loadingFrame); if(bookMeta.lan=="zh"){ GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl, onload :function (reDetails){ titleFilter.zhizhen.respond(reDetails,"otherTitle",fullUrl); } }); ////////////////////// GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl2, onload :function (reDetails){ titleFilter.chaoxing.respond(reDetails,"otherTitle",fullUrl2); } }); } else{ GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl, onload :function (reDetails){ titleFilter.EBSCO.respond(reDetails,"otherTitle",fullUrl); } }); } } //////////////////谷歌检索,改自豆藤//////////////////////////// var jaysonTitle = function(){ var keyw = bookMeta.title; var cid = '006100883259189159113%3Atwgohm0sz8q' //http://g.yon.hk/uds/GwebSearch?rsz=filtered_cse&hl=zh_CN&cx=006100883259189159113%3Atwgohm0sz8q&v=1.0&key=notsupplied&q=allintitle%3Aboy var getSite = function(){ return [ //'https://gs.awei.me/'//'http://g.yh.gs/' //,'https://www.ppx.pw/' 'http://www.guge.link/' //,'https://www.ko50.com/' ,'https://www.guge.click/' //,'http://gg.cellmean.com/' ,'https://google.xface.me/' ,'http://google.sidney-aldebaran.me/' //,'https://guge.in/' //,'http://www.ggooo.net/' ,'https://gg.kfd.me/' //,'https://www.ko50.com/' //,'https://google-hk.wewell.net/' //,'http://www.googlestable.cn/' //,'http://hisbig.com/' //,'http://gg.cellmean.com/' ,'https://www.sslpxy.com/' ,'http://xueshu.cytbj.com/' //,'https://www.nssjs.com/' //,'https://hk.g.net.co/' ][Math.floor(Math.random() * 7 + 1)-1]; // ******** Google 镜像 ******** }; var googleLoader = function(site){ var path = site || 'http://www.google.com/'; // var path = 'https://repigu.com/'; GM_xmlhttpRequest({ method: 'GET', headers: { "User-Agent": "Mozilla/5.0", // If not specified, navigator.userAgent will be used. "Accept": "text/html;charset=utf-8" // If not specified, browser defaults will be used. }, url: path + 'uds/GwebSearch?rsz=filtered_cse&hl=zh_CN&cx='+cid+'&v=1.0&key=notsupplied&q=allintitle%3A' + keyw, onload: function(resp){ //alert(resp.status); if(resp.status < 200 || resp.status > 300){ googleLoader(getSite()); // 切换镜像 return; }; if(resp.responseText.indexOf('Abuse')!==-1){ //alert("Abuse"); googleLoader(getSite()); // 切换镜像 return; } var date = JSON.parse(resp.responseText); var loading =document.getElementById("googleLoading"); if(loading) loading.parentNode.removeChild(loading); var itemNum = date.responseData.r###lts.length; //搜索结果条目数 if(itemNum == 0){ document.getElementById("jaysonTitle").innerHTML+='<div>未找到相关内容</div>'; }; for(var i=0,j=itemNum; i<j; i++){ var itemi = date.responseData.r###lts[i]; //itemi 搜索结果条目i //alert(itemi); var webSite = !!itemi.perR###ltLabels && itemi.perR###ltLabels[0].anchor || ''; //alert(webSite); webSite="【"+webSite+"】"; //如果是图书,则将来源网站改为文档类型 var docType = itemi.title.match(/\.(txt|pdf|doc|ppt|chm|rar|exe|zip|epub|mobi|caj|jar)/i); !!docType && (webSite = '【' + docType[1].toUpperCase() + '】'); document.getElementById("jaysonTitle").innerHTML += '<li style="font-size: 12px;list-style-type:none"' +'><span class="pl">'+ webSite +'</span><a href="' + decodeURIComponent(itemi.url).replace('pan.baidu.com/wap/link', 'pan.baidu.com/share/link') + '" title="' + itemi.titleNoFormatting + '" target="_blank">' + itemi.title.replace(/_免费高速下载_###问共享资料|-epub电子书下载.*|–华为网盘.*|-在线下载.*|网盘下载\|115网盘.*|迅雷快传-|\| IMAX\.im 高清影院|资源下载,中文字幕下载,|电影,|下载,|已上映,|,下载《.*|\| 720p 高清电影\(imax.im\)|[\[【\((][^\[\]]*\.(com|cn|net|org|cc)[\]】\))]/gi, '') + '</a></li>'; }; }, onerror: function(){ googleLoader(getSite()); return; } }); }; googleLoader(getSite()); }; //////////////ISBN搜索xml获取////////////////// mineISBN = function(school,frameLocation){ if(frameLocation=="ISBN"){ ISBNFrame(); } if(bookMeta.isbn){ var fullUrl=""; switch(school){ case "SCUT": case "SCNU": case "GZHU": case "GDUT": case "GZHTCM": case "GZARTS": case "XHCOM": fullUrl =schoolInfo[school].isbnSearchUrl.replace(/%s/,bookMeta.isbn10); break; case "SYSU": case "GDUFS": if(bookMeta.isbn&&bookMeta.title.charCodeAt(0)<=122&&bookMeta.isbn[3]!=="7"){ fullUrl=schoolInfo[school].isbnForeianSearchUrl.replace(/%s/,bookMeta.isbn); } else{ fullUrl=schoolInfo[school].isbnSearchUrl.replace(/%s/,bookMeta.isbn); } break; default: break; } if(frameLocation=="ISBN"){ insertLoading(fullUrl); } frame = document.getElementById("libISBN"); //此处frame需要删除 GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl, onload :function (reDetails){ isbnFilter[school].respond(reDetails,frameLocation,fullUrl); } }); } else{//无ISBN号的情况 var msg = new LibMeta(school); msg.error=true; msg.state="error"; msg.errorMsg = "无法获取ISBN号"; messageCatcher(msg,frameLocation) } } function insertLoading(fullUrl){ frame = document.getElementById("libISBN"); frameLink = document.createElement("a"); frameLink.setAttribute("target","_blank"); frameLink.innerHTML="前往图书馆查看这本书"; frameLink.setAttribute("href",fullUrl); frame.appendChild(frameLink); loadingFrame=document.createElement("div"); loadingFrame.setAttribute("id","ISBNLoading"); loadingFrame.innerHTML= '<li id="loadingSource"><a><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAA###RmoxoxvQAYchQAOw=="> 努力加载中...</a></li>' frame.appendChild(loadingFrame); } ///////////////////////////////////////// //////////////书名搜索xml获取////////////////// mineTitle = function(school){ titleFrame(); if(bookMeta.isbn&&bookMeta.title.charCodeAt(0)<=122&&bookMeta.isbn[3]!=="7"){ var fullUrl=schoolInfo[school].anyForeianSearchUrl.replace(/%s/,bookMeta.title); GM_setValue("doubanLanguage","en"); } else{ var fullUrl=schoolInfo[school].anySearchUrl.replace(/%s/,bookMeta.title); } frame = document.getElementById("libTitle"); var loadingFrame=document.createElement("div"); loadingFrame.setAttribute("id","titleLoading"); loadingFrame.innerHTML= '<li id="loadingSource"><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAA###RmoxoxvQAYchQAOw=="> 努力加载中...</li>' var frameLink = document.createElement("a"); frameLink.setAttribute("target","_blank"); frameLink.innerHTML="前往图书馆查看这本书"; frameLink.setAttribute("href",fullUrl); frame.appendChild(frameLink); frame.appendChild(loadingFrame); if(!schoolInfo[school].isGBK){ GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl, onload :function (reDetails){ titleFilter[school].respond(reDetails,"title",fullUrl); } }); } else{ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.baidu.com/s?ie=utf-8&wd=' + encodeURIComponent(bookMeta.title), overrideMimeType: 'text/xml; charset=gb2312', onload: function(response) { //alert("text"); if (response.status !== 200&&response.status !== 304){ var msg = new LibMeta(school); msg.state="error"; msg.errorMsg="无法获取远程GBK转码"; messageCatcher(msg,frameLocation); return; } var keywordGB = String(response.responseText.match(/word=[^'"&]+['"&]/i)).replace(/word=|['"&]/ig,''); fullUrl= schoolInfo[school].anySearchUrl.replace(/%s/,keywordGB); frameLink.setAttribute("href",fullUrl); //alert(fullUrl); GM_xmlhttpRequest({ //获取列表 method : 'GET', synchronous : false,//异步获取 url : fullUrl, onload :function (reDetails){ titleFilter[school].respond(reDetails,"title",fullUrl); } }); }, onerror: function(){ return; } }); } } ///////////////////////////////////////// ///////////////ISBN插入框架////////////////////////////// ISBNInsert=function(msg,frameLocation){ var innerContent=document.createElement("div"); innerContent.innerHTML= msg; switch(frameLocation){ case "ISBN": loading =document.getElementById("ISBNLoading"); loading.parentNode.removeChild(loading); frame = document.getElementById("libISBN"); break; case "title": loading =document.getElementById("titleLoading"); loading.parentNode.removeChild(loading); frame = document.getElementById("libTitle"); break; case "otherISBN": frame = document.getElementById("mainOtherISBN"); break; default: break; } frame.appendChild(innerContent); function addStoreListener(){ GM_setClipboard(this.getAttribute("data-storeInfo")); noteInfo = "已复制到粘贴板 "+this.getAttribute("data-storeInfo"); // Let's check if the browser supports notifications if (!("Notification" in window)) { confirm("以下信息已复制到粘贴板\n\n"+this.getAttribute("data-storeInfo")); } // Let's check if the user is okay to get some notification else if (Notification.permission === "granted") { // If it's okay let's create a notification var notification = new Notification(noteInfo); } // Otherwise, we need to ask the user for permission // Note, Chrome does not implement the permission static property // So we have to check for NOT 'denied' instead of 'default' else if (Notification.permission !== 'denied') { Notification.requestPermission(function (permission) { // Whatever the user answers, we make sure we store the information if (!('permission' in Notification)) { Notification.permission = permission; } // If the user is okay, let's create a notification if (permission === "granted") { var notification = new Notification(noteInfo); } else{ confirm("以下信息已复制到粘贴板\n\n"+this.getAttribute("data-storeInfo")); } }); } else{ confirm("以下信息已复制到粘贴板\n\n"+this.getAttribute("data-storeInfo")); } } var storeListener = document.querySelectorAll(".preStoreRegister"); for(s=0;s<storeListener.length;s++){ storeListener[s].addEventListener("dblclick",addStoreListener,false); storeListener[s].classList.remove("preStoreRegister"); } } ///////////////Title插入框架////////////////////////////// titleInsert=function(msg,frameLocation){ var innerContent=document.createElement("div"); innerContent.innerHTML= msg; switch(frameLocation){ case "ISBN": var loading =document.getElementById("ISBNLoading"); loading.parentNode.removeChild(loading); frame = document.getElementById("libISBN"); break; case "title": GM_addStyle("#libTitle { max-height: 300px;overflow: auto; }"); if(loading =document.getElementById("titleLoading")){ loading.parentNode.removeChild(loading); } frame = document.getElementById("libTitle"); break; case "otherISBN": frame = document.getElementById("mainOtherISBN"); break; case "otherTitle": var loading =document.getElementById("otherTitleLoading"); if(loading) loading.parentNode.removeChild(loading); frame = document.getElementById("mainOtherTitle"); break; default: break; } frame.appendChild(innerContent); } ///////////////Title插入框架////////////////////////////// errorInsert=function(msg,frameLocation,school){ var innerContent=document.createElement("div"); innerContent.innerHTML= msg; switch(frameLocation){ case "ISBN": if(loading =document.getElementById("ISBNLoading")){ loading.parentNode.removeChild(loading); } frame = document.getElementById("libISBN"); break; case "title": if(loading =document.getElementById("titleLoading")){ loading.parentNode.removeChild(loading); }; frame = document.getElementById("libTitle"); break; case "otherISBN": frame = document.getElementById("errorOtherISBN"); if(!frame.textContent){ frame.innerHTML+="以下院校查无此书: " } frame.innerHTML+=school+" | "; break; case "otherTitle": var loading =document.getElementById("otherTitleLoading"); if(loading) loading.parentNode.removeChild(loading); frame = document.getElementById("errorOtherTitle"); break; default: return; } if(frameLocation!="otherISBN") frame.appendChild(innerContent); } //////////////豆瓣网页荐购获取///////////////////////// recommendBook = function(frameLocation,school){ var innerContent=document.createElement("div"); switch(frameLocation){ case "ISBN": loading =document.getElementById("ISBNLoading"); loading.parentNode.removeChild(loading); frame = document.getElementById("libISBN"); break; case "title": loading =document.getElementById("titleLoading"); loading.parentNode.removeChild(loading); frame = document.getElementById("libTitle"); break; case "otherISBN": frame = document.getElementById("errorOtherISBN"); if(!frame.textContent){ frame.innerHTML+="以下院校查无此书: " } frame.innerHTML+=schoolInfo[school].abbrName+" "; return; default: return; } function gotoRecommend(){ GM_setValue('doubanTitle',bookMeta.title); GM_setValue('doubanAuthor',bookMeta.author); GM_setValue('doubanPublisher',bookMeta.publisher); GM_setValue('doubanPubdate',bookMeta.pubdate); GM_setValue('doubanIsbn',bookMeta.isbn||bookMeta.bookIndex); GM_setValue('doubanPrice',bookMeta.price); GM_setValue('doubanRating',bookMeta.rating); GM_openInTab(schoolInfo[prefs.school].recommendUrl); }; var style = ('style="' + 'display: inline-block; ' + 'background: #33A057; ' + 'border: 1px solid #2F7B4B; ' + 'color: white; ' + 'padding: 1px 10px; ' + 'border-radius: 3px; ' + 'margin-right: 8px;" ' ); statBtn = ('<a id="recbtn" rel="modal:open"' + style + '>荐购</a>' ); var allBook = '<ul><li>ISBN查询无此书'+statBtn+'</li></ul>'; innerContent.innerHTML= allBook; frame.appendChild(innerContent); button=document.getElementById("recbtn"); if(button){ button.addEventListener("click",gotoRecommend,false); } } ///////获取回调数据////////////// messageCatcher=function(msg,frameLocation){ switch(msg.state){ case "store": var allBook=""; var otherAbbr=""; if(frameLocation.indexOf("other")!=-1){ otherAbbr="院校:"+schoolInfo[msg.school].abbrName+" "; } var attachRent=""; for(s=0;s<msg.items.length;s++){ if(msg.items[s].rentable){ attachRent=' rentable' } else{ attachRent=''; } storeInfo = bookMeta.title+" "+schoolInfo[msg.school].name+" "; //msg.items[s].bookIndex=null; if(msg.items[s].bookIndex) storeInfo+="索书号:"+msg.items[s].bookIndex+" "; if(msg.items[s].branch) storeInfo+="分馆:"+msg.items[s].branch+" "; if(msg.items[s].location) storeInfo+="馆藏地:"+msg.items[s].location; bookStatus = '<ul class="preStoreRegister storelist ft pl more-after'+attachRent+'" data-storeInfo="'+storeInfo+'" '+'title="双击可粘贴馆藏信息到剪贴板"'+'> ' +//+'ondblclick="GM_setClipboard(this.getAttribute('+"'data-storeInfo'"+'))"' '<li style="border: none"><a href="'+msg.items[s].link+'" target="_blank">'+otherAbbr+'状态:' + msg.items[s].storeState+ '<span style="position:relative; "> 应还日期: ' + msg.items[s].returnTime +'</span></a></li>' + '<li style="border: none">分馆: ' + msg.items[s].branch + '</li>' + '</ul>'; allBook += bookStatus; } ISBNInsert(allBook,frameLocation); break; case "booklist": var display; var allBook = ""; var otherAbbr=""; var extra=""; //alert(msg.school); if(frameLocation.indexOf("other")!=-1){ if(msg.school=="EBSCO"){ otherAbbr=schoolInfo[msg.items[0].school].abbrName+" "; } else{ otherAbbr="院校:"+schoolInfo[msg.items[0].school].abbrName+" "; } } for(s=0;s<msg.items.length;s++){ if(s>4){ display="display : none;"; } else{ display=""; } if(msg.school=="EBSCO"){ extra='<li class="getlink"><a target="_blank" href="'+msg.items[s].extra+'">Full Text</a></li>'; } bookStatus = '<ul class="ft pl more-after"> ' + '<li style="border: none">'+otherAbbr+'书名:<a href="'+msg.items[s].link+'"target="_blank">' + msg.items[s].bookName+ '</a></li>' + '<li style="overflow:hidden;border: none;'+display+'">作者: ' + msg.items[s].author + ' 出版社:' + msg.items[s].publisher + '</li>' +extra+ '</ul>'; allBook += bookStatus; } titleInsert(allBook,frameLocation); break; case "recommend": recommendBook(frameLocation,msg.school); break; case "error": var bookStatus = '<ul class="ft pl more-after"> ' + '<li style="border: none">' + msg.errorMsg+'</li>' + '</ul>'; errorInsert(bookStatus,frameLocation,schoolInfo[msg.school].abbrName); break; case "zhizhen"://超星发现 var display; var allBook = ""; var otherAbbr=""; otherAbbr=schoolInfo[msg.items[0].school].abbrName+" "; for(s=0;s<msg.items.length;s++){ if(s>4){ display="display : none;"; } else{ display=""; } bookStatus = '<ul class="ft pl more-after"> ' + '<li style="border: none">'+otherAbbr+'书名:'+'<a href="'+msg.items[s].link+'"target="_blank">' + msg.items[s].bookName+ '</a></li>' + '<li><span style="overflow:hidden;border: none;'+display+'">作者: ' + msg.items[s].author + ' 出版社:' + msg.items[s].publisher + '</span></li>'+ '<li><span class="getlink">获取途径:'+msg.items[s].extra+'</span></li>' + '</ul>'; allBook += bookStatus; } titleInsert(allBook,frameLocation); break; case "chaoxing"://超星读书 var display; var allBook = ""; var otherAbbr=""; otherAbbr=schoolInfo[msg.items[0].school].abbrName+" "; for(s=0;s<msg.items.length;s++){ if(s>4){ display="display : none;"; } else{ display=""; } bookStatus = '<ul class="ft pl more-after"> ' + '<li style="border: none">'+otherAbbr+'书名:'+'<a href="'+msg.items[s].link+'"target="_blank">' + msg.items[s].bookName+ '</a></li>' + '<li><span style="overflow:hidden;border: none;'+display+'">作者: ' + msg.items[s].author + '</span></li>' + '</ul>'; allBook += bookStatus; } titleInsert(allBook,frameLocation); break; default: alert("defalut"); break; } } ///////////////////////////////// GM_addStyle('.recbtn{display: inline-block; background: #33A057;border: 1px solid #2F7B4B; color: white; padding: 1px 10px; border-radius: 3px; margin-right: 8px;cursor:pointer} ') GM_registerMenuCommand("图书馆检索设置", popSetting); //////////////主函数////////////////////////// if(location.href.indexOf('douban')!=-1){ GM_addStyle(".tablist {position:relative;}"+ ".tab_content {position: relative;width:295px;margin-bottom:5px;max-height: 300px;overflow: auto;padding:15px 5px 15px 5px;border:1px solid #91a7b4;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,0.1);font-size:1.2em;line-height:1.5em;color:#666;background:#F6F6F1;}"+ ".tabmenu {position:absolute;bottom:100%;margin:0;width:316px;}"+ ".tabmenu li{display:inline-block;}"+ ".tabmenu li a {display:block;padding:5px 10px;margin:0 10px 0 0;border:1px solid #91a7b4;border-radius:5px 5px 0 0;background:#F6F6F1;color:#333;text-decoration:none;}#libISBN div ul,#libTitle div ul,#otherISBN div ul,#otherTitle div ul{border-bottom: 1px dashed #ddd;}#errorOtherISBN{font-size:10px}.blue a{background:#37A !important;color:white !important;}.tab_content h2{color:#007722; font:15px/150% Arial,Helvetica,sans-serif;margin: 0 0 12px;}"+ ".libTop{margin-top:30px;}#clickISBN a,#clickOtherISBN a,#settingPop a{cursor:pointer;}#settingPop{position:relative;float:right;}"+ ".rentable{background:#E3F1ED!important;}.ft.pl.rentable li a{color:#4f946e;}.ft.pl.rentable li a:hover{background:#007711;color:#FFFFFF;}"+ ".title_div{margin-top: 35px;}"); mineISBN(prefs.school,"ISBN"); mineTitle(prefs.school); GM_setValue("doubanTitle",bookMeta.title); GM_setValue("doubanAuthor",bookMeta.author); GM_setValue('doubanPubdate',bookMeta.pubdate); GM_setValue("doubanIsbn",bookMeta.isbn); GM_setValue("doubanPublisher",bookMeta.publisher); } if(location.href.indexOf('http://202.116.64.108:8080/apsm/recommend/recommend.jsp')!=-1){ libRecommend.SYSU();//中山大学图书馆荐购页面 } if(location.href.indexOf('http://202.38.232.10/opac/servlet/opac.go?cmdACT=recommend.form')!=-1){ libRecommend.SCUT();//华南理工大学图书馆荐购页面 } if(location.href.indexOf('http://opac.gdufs.edu.cn:8118/apsm/recommend/recommend_nobor.jsp')!=-1){ libRecommend.SYSU();//广东外语外贸大学图书馆荐购页面 } if(location.href.indexOf('gdtgw.cn')!=-1){//十校互借页面 if(GM_getValue('gotoRent')==true){ function clickShow(mutations){ //点击按钮 function fillForm(mutations){//填写表单 //document.getElementById("publishTime").value=GM_getValue("doubanPubdate",""); /*observerRight.disconnect();//去除监听*/ //var target = document.getElementById("supplier"); var target = document.querySelector('#supplier'); var observerSchool = new MutationObserver(function(mutations,obs){ document.getElementsByName("reader.campusId")[0].value=prefs.school.toLowerCase(); document.getElementById("supplier").value=GM_getValue("rentSchool",""); //alert("test"); obs.disconnect; observerRight.disconnect(); }); var config = { 'childList': true} // 传入目标节点和观察选项 observerSchool.observe(target, config); /// //document.getElementsByName("reader.campus")[0].value=prefs.campus; document.getElementById("phone").value=prefs.telephone; document.getElementById("idNo").value=prefs.studentID; document.getElementById("name").value=prefs.name; document.getElementById("email").value=prefs.eMail; document.getElementsByName("reader.campus")[0].value=prefs.campus; document.getElementById("callNo").value=GM_getValue("bookIndex",""); document.getElementById("title").value=GM_getValue("doubanTitle",""); document.getElementById("isbn").value=GM_getValue("doubanIsbn",""); document.getElementById("publishTime").value=GM_getValue("doubanPubdate",""); document.getElementById("author").value=GM_getValue("doubanAuthor",""); document.getElementById("publisher").value=GM_getValue("doubanPublisher",""); } //////////////////////////////////////// document.getElementById("Map").areas[1].click(); observerLeft.disconnect(); var target = document.querySelector('#rightContent'); var observerRight = new MutationObserver(fillForm); var config = { 'childList': true} // 传入目标节点和观察选项 observerRight.observe(target, config); } /////////////////////// var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; if(MutationObserver){ // 选择目标节点 var target = document.querySelector('#leftContent'); // 创建观察者对象 var observerLeft = new MutationObserver(clickShow); // 配置观察选项: var config = { 'childList': true} // 传入目标节点和观察选项 observerLeft.observe(target, config); // 随后,你还可以停止观察 } else{ function clickSecond(){ document.getElementById("idNo").value=prefs.studentID; document.getElementById("campusId").value=prefs.school.toLowerCase();//无法设置,还需要一次监听,或者setTimeout document.getElementsByName("reader.email")[0].value=prefs.eMail; document.getElementsByName("reader.campus")[0].value=prefs.campus; document.getElementsByName("reader.phone")[0].value=prefs.telephone; document.getElementById("name").value=prefs.name; document.getElementById("supplier").value=GM_getValue("rentSchool",""); document.getElementById("callNo").value=GM_getValue("bookIndex",""); document.getElementById("title").value=GM_getValue("doubanTitle",""); if(GM_getValue("doubanIsbn")) document.getElementById("isbn").value=GM_getValue("doubanIsbn",""); if(GM_getValue("doubanPubdate","")) document.getElementById("publishTime").value=GM_getValue("doubanPubdate",""); document.getElementById("author").value=GM_getValue("doubanAuthor",""); document.getElementById("publisher").value=GM_getValue("doubanPublisher",""); } function clickFirst(){ document.getElementById("Map").areas[1].click(); setTimeout(function(){clickSecond()},1000); } setTimeout(function(){clickFirst()},500); } GM_setValue('gotoRent',false); } } if(location.href.indexOf('gdufs.edu.cn')!=-1&&prefs.school!="GDUFS"){//广外 var rentTable=document.getElementsByTagName("table"); rentTable=rentTable[6]; function GDUFS_interLending(){ var bookIndex=this.parentNode.parentNode.cells[5].textContent; GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","gdufs"); GM_setValue("gotoRent",true); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; rentTable.rows[s].cells[9].innerHTML=''; rentTable.rows[s].cells[9].appendChild(recbtn); recbtn.addEventListener("click",GDUFS_interLending,false); }; } if(location.href.indexOf('202.116.64.108:8991')!=-1&&prefs.school!="SYSU"){//中大 var rentTable=document.getElementsByTagName("table"); rentTable=rentTable[6]; function SYSU_interLending(){ var bookIndex=this.parentNode.parentNode.cells[6].textContent; GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","sysu"); GM_setValue("gotoRent",true); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; rentTable.rows[s].cells[9].innerHTML=''; rentTable.rows[s].cells[9].appendChild(recbtn); recbtn.addEventListener("click",SYSU_interLending,false); }; } if(location.href.indexOf('http://202.38.232.10/opac/servlet/opac.go')!=-1&&prefs.school!="SCUT"){//华理工 var rentTable=document.getElementById("queryholding"); if(rentTable){ //break; //return null; function SCUT_interLending(){ var bookIndex=this.parentNode.parentNode.cells[2].textContent; var title=document.getElementById("bookName").getAttribute("value"); var infoTable=document.getElementsByClassName("left12")[0].getElementsByTagName("table")[0]; ISBN = infoTable.textContent; ISBN = ISBN.replace(/\n/g,"").replace(/ /g,"").match(/ISBN(\d|-)+/)[0].slice(4); publisher = infoTable.rows[2].cells[1].textContent; pubDate = publisher.match(/\d+/); publisher = publisher.slice(0,publisher.indexOf(pubDate)-2); author = infoTable.rows[1].cells[1].getElementsByTagName("a")[0].innerHTML; GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","scut"); GM_setValue("gotoRent",true); GM_setValue("doubanTitle",title); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); //alert(ISBN); GM_setValue("doubanIsbn",ISBN); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } rentTable=rentTable.rows[0].cells[0].getElementsByTagName("table")[0]; for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[3]; btncell.appendChild(recbtn); recbtn.addEventListener("click",SCUT_interLending,false); }; } } if(location.href.indexOf('lib.gzhu.edu.cn:8080/bookle/search2/detail')!=-1&&prefs.school!="GZHU"){//广州大学 var rentTable=document.getElementsByClassName("book_holding")[0]; function GZHU_interLending(){ var infoTable=document.getElementsByClassName("book_detail")[0]; var bookIndex=infoTable.rows[5].cells[1].textContent; var publisher = infoTable.rows[0].cells[1].textContent; var pubDate = publisher.match(/\d+/); pubDate=pubDate.toString(); publisher=publisher.slice(0,publisher.indexOf(pubDate)-1); var title=document.getElementsByTagName("title")[0].textContent.slice(13,-1); var author=infoTable.rows[1].cells[1].textContent.replace(/\n/g,"").replace(/ /g,""); //alert(publisher+bookIndex+pubDate+title); GM_setValue("doubanTitle",title); if(pubDate) GM_setValue("doubanPubdate",pubDate.toString()); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); //GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","gzhu"); GM_setValue("gotoRent",true); GM_setValue("doubanTitle",title); //GM_setValue("doubanIsbn",bookisbn); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[6]; btncell.appendChild(recbtn); recbtn.addEventListener("click",GZHU_interLending,false); }; } if(location.href.indexOf('http://210.38.102.131:86/opac/item.php?marc_no=')!=-1&&prefs.school!="GZHTCM"){//广中医 var rentTable=document.getElementById("item"); function GZHTCM_interLending(){ var infoTable=document.getElementsByClassName("booklist"); var bookIndex=this.parentNode.parentNode.cells[0].textContent; var publisher =infoTable[1].getElementsByTagName("dd")[0].textContent; var pubDate = publisher.match(/\d+/); pubDate=pubDate.toString(); var ISBN=infoTable[2].getElementsByTagName("dd")[0].textContent.match(/(\d|-)+/); ISBN=ISBN[0]; publisher=publisher.slice(0,publisher.indexOf(pubDate)-1); var title=document.getElementsByTagName("title")[0].textContent; var author=infoTable[0].getElementsByTagName("dd")[0].textContent; author = author.slice(author.indexOf('/')+1) GM_setValue("doubanTitle",title); GM_setValue("doubanIsbn",ISBN); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","gzhtcm"); GM_setValue("gotoRent",true); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[2]; btncell.appendChild(recbtn); recbtn.addEventListener("click",GZHTCM_interLending,false); }; } if(location.href.indexOf('http://202.116.41.246:8080/opac/item.php?marc_no=')!=-1&&prefs.school!="SCNU"){//华师 var rentTable=document.getElementById("item"); function SCNU_interLending(){ var infoTable=document.getElementsByClassName("booklist"); var bookIndex=this.parentNode.parentNode.cells[0].textContent; var publisher =infoTable[1].getElementsByTagName("dd")[0].textContent; var pubDate = publisher.match(/\d+/); pubDate=pubDate.toString() var ISBN=infoTable[2].getElementsByTagName("dd")[0].textContent.match(/(\d|-)+/); ISBN=ISBN[0]; publisher=publisher.slice(0,publisher.indexOf(pubDate)-1); var title=document.getElementsByTagName("title")[0].textContent; var author=infoTable[0].getElementsByTagName("dd")[0].textContent; author = author.slice(author.indexOf('/')+1) //alert(publisher+bookIndex+pubDate+title); GM_setValue("doubanTitle",title); GM_setValue("doubanIsbn",ISBN); //alert(GM_getValue("doubanIsbn")); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","scnu"); GM_setValue("gotoRent",true); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[2]; btncell.appendChild(recbtn); recbtn.addEventListener("click",SCNU_interLending,false); }; } if(location.href.indexOf('http://222.200.98.171:81/bookinfo.aspx?ctrlno=')!=-1&&prefs.school!="GDUT"){//广东工业大学 var rentTable=document.getElementById("bardiv").getElementsByTagName("table")[0]; function GDUT_interLending(){ var infoTable=document.getElementById("ctl00_ContentPlaceHolder1_bookcardinfolbl"); var bookIndex=this.parentNode.parentNode.cells[1].textContent; var publisher =infoTable.getElementsByTagName("a")[0].innerHTML; if(pubDate = infoTable.textContent.match(/\d+\.?\d*/)) pubDate=pubDate.toString(); var ISBN=infoTable.textContent.replace(/\n/g,"").match(/ISBN(\d|-)+/)[0]; ISBN=ISBN.slice(4) var title=infoTable.textContent.slice(0,infoTable.textContent.indexOf("/")).replace(/ +/g,""); var author=infoTable.textContent.slice(infoTable.textContent.indexOf("/")+1,infoTable.textContent.indexOf("—")-1); GM_setValue("doubanTitle",title); GM_setValue("doubanIsbn",ISBN); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","gdut"); GM_setValue("gotoRent",true); GM_setValue("doubanTitle",title); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[6]; btncell.appendChild(recbtn); recbtn.addEventListener("click",GDUT_interLending,false); }; } if(location.href.indexOf('http://121.33.246.167/opac/bookinfo.aspx?ctrlno=')!=-1&&prefs.school!="GZARTS"){//广州美术学院 var rentTable=document.getElementById("bardiv").getElementsByTagName("table")[0]; function GZARTS_interLending(){ var infoTable=document.getElementById("ctl00_ContentPlaceHolder1_bookcardinfolbl"); //alert(infoTable.textContent); var bookIndex=this.parentNode.parentNode.cells[1].textContent; var publisher =infoTable.getElementsByTagName("a")[0].innerHTML; if(pubDate = infoTable.textContent.match(/\d+\.?\d*/)) pubDate=pubDate.toString(); var ISBN=infoTable.textContent.replace(/\n/g,"").match(/ISBN(\d|-)+/)[0]; ISBN=ISBN.slice(4) var title=infoTable.textContent.slice(0,infoTable.textContent.indexOf("/")).replace(/ +/g,""); var author=infoTable.textContent.slice(infoTable.textContent.indexOf("/")+1,infoTable.textContent.indexOf("—")-1); GM_setValue("doubanTitle",title); GM_setValue("doubanIsbn",ISBN); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","gzarts"); GM_setValue("gotoRent",true); GM_setValue("doubanTitle",title); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } //alert(rentTable.textContent); for (var s = 1; s < rentTable.rows.length; s++) { //let bookIndex=rentTable.rows[s].cells[5].textContent; var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[6]; btncell.appendChild(recbtn); recbtn.addEventListener("click",GZARTS_interLending,false); }; } if(location.href.indexOf('http://218.192.148.33:81/bookinfo.aspx?ctrlno=')!=-1&&prefs.school!="XHCOM"){//星海音乐学院 var rentTable=document.getElementById("bardiv").getElementsByTagName("table")[0]; function XHCOM_interLending(){ var infoTable=document.getElementById("ctl00_ContentPlaceHolder1_bookcardinfolbl"); var bookIndex=this.parentNode.parentNode.cells[1].textContent; var publisher =infoTable.getElementsByTagName("a")[0].innerHTML; if(pubDate = infoTable.textContent.match(/\d+\.?\d*/)) pubDate=pubDate.toString(); var ISBN=infoTable.textContent.replace(/\n/g,"").match(/ISBN(\d|-)+/)[0]; ISBN=ISBN.slice(4) var title=infoTable.textContent.slice(0,infoTable.textContent.indexOf("/")).replace(/ +/g,""); var author=infoTable.textContent.slice(infoTable.textContent.indexOf("/")+1,infoTable.textContent.indexOf("—")-1); GM_setValue("doubanTitle",title); GM_setValue("doubanIsbn",ISBN); GM_setValue("doubanPubdate",pubDate); GM_setValue("doubanPublisher",publisher); GM_setValue("doubanAuthor",author); GM_setValue("bookIndex",bookIndex); GM_setValue("rentSchool","xhcm"); GM_setValue("gotoRent",true); GM_setValue("doubanTitle",title); GM_openInTab("http://www.gdtgw.cn:8080/#.html"); } for (var s = 1; s < rentTable.rows.length; s++) { //let bookIndex=rentTable.rows[s].cells[5].textContent; var recbtn=document.createElement("a"); recbtn.setAttribute("class","recbtn"); recbtn.innerHTML="十校互借"; var btncell=rentTable.rows[s].cells[6]; btncell.appendChild(recbtn); recbtn.addEventListener("click",XHCOM_interLending,false); }; }