// ==UserScript== // @name 图书馆参考咨询联盟获取ss号/dx号,以及ucdrs和豆瓣双向导航 // @namespace ucdrs.superlib.net // @version 1.2.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_search* // @match *://book.douban.com/tag/* // @match *://book.douban.com/subject/* // @match *://book.douban.com/series/* // @match *://book.douban.com/works/* // @match *://book.douban.com/author/*/books* // @match *://book.douban.com/people/*/wish // @match *://book.douban.com/people/*/do // @match *://book.douban.com/people/*/collect // @match *://www.douban.com/doulist/* // @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 slim(s) { return s.replaceAll(/ +/g, "").trim(); } function showbid(bookid, idtype) { return `
${idtype}${bookid}
`; } if (location.href.includes("/subject_search")) { $("div.item-root > div.detail > div.title").each((i, el) => { let bookname = slim($(el).text()); $(el).find("a").after(' | 参考联盟'); }); } else if (location.href.includes("/works")) { $("div.bkdesc > a.pl2").each((i, el) => { let bookname = slim($(el).text()); $(el).after(' | 参考联盟'); }); } else if (location.href.match("/(series|tag|do|wish|collect)")) { $("div.info > h2 > a").each((i, el) => { let bookname = slim($(el).text()); $(el).after(' | 参考联盟'); }); } else if (location.href.includes("/author")) { $("h6 > a").each((i, el) => { let bookname = slim($(el).text()); $(el).after(' | 参考联盟'); }); } else if (location.href.includes("/doulist")) { $("div.title > a").each((i, el) => { let bookname = slim($(el).text()); let $src = slim($(el).parent().prev().prev().text()); if ($src == "来自:豆瓣读书") { $(el).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('