// ==UserScript== // @name 图书馆参考咨询联盟获取ss号/dx号,以及ucdrs和豆瓣双向导航 // @namespace ucdrs.superlib.net // @version 1.1.0 // @author Theron // @match *://book.ucdrs.superlib.net/views/specific/* // @match *://book.ucdrs.superlib.net/search* // @match *://search.douban.com/book/subject_search* // @match *://book.douban.com/subject/* // @require https://libs.baidu.com/jquery/2.0.0/jquery.min.js // @description 显示图书馆参考咨询联盟上文献的ssid号或dxid号(ssid不存在时),用于群组找书等场景;另外在搜索、详情页添加ucdrs和豆瓣的双向导航链接。 // @grant none // @license Copyright Theron // @downloadURL none // ==/UserScript== (function () { 'use strict'; function showbid(bookid, idtype) { return `

${idtype}${bookid}

`; } if (location.href.includes("/book/subject_search")) { $("div.item-root > div.detail > div.title").each((i, el) => { let bookname = $(el).text(); $(el).find("a").after(' | 参考联盟'); }); } else if (location.href.includes("/subject")) { let json = $("script[type='application/ld+json']").text(); let st = json.match(/"name" : "(.*?)",/)[1]; let m = json.match(/"isbn" : "(.*?)",/); if (m) { st = m[1]; $("div#mainpic > a.nbg").after('
参考联盟'); } else { $("div#mainpic > a.nbg").after('
参考联盟'); } } else if (location.href.includes("/search")) { $('td[id="b_img"]').each((i, el) => { let bookid = $(el).parent("tr").find('input[name*="ssid"]').val(); let bookname = $(el).parent("tr").find('input[name*="title"]').val().replaceAll(/<.*?>/, ""); if (bookname) { $(el).next().find("a").after(' | 豆瓣'); } if (bookid) { $(el).after(showbid(bookid, "SS号")); } else if ((bookid = $(el).find("a[href]").attr("href").match(/dxNumber=(\d+)/))) { $(el).after(showbid(bookid[1], "DX号")); } }); } else if (location.href.includes("/views/specific/")) { let m = $("script:contains(send_requestajax)").text().match(/ssn=(\d{3,})/); let img = $("div.tubookimg>img:only-child"); if (m) { img.after(showbid(m[1], "SS号")); } else if ((m = location.href.match(/dxNumber=(\d+)/))) { img.after(showbid(m[1], "DX号")); } let st = $("div.tutilte").text(); let m2 = $("div.tubox").find("dl").text().match(/【ISBN号】(.*?)\n/); if (m2) { st = m2[1]; } img.after('

豆瓣

'); } })();