book_douban_ChangShaLib

为豆瓣读书用户想读页面的图书,添加长沙图书馆馆藏查询结果

目前為 2021-12-03 提交的版本,檢視 最新版本

// ==UserScript==
// @name         book_douban_ChangShaLib
// @name         豆瓣读书-想读-长沙图书馆信息
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  为豆瓣读书用户想读页面的图书,添加长沙图书馆馆藏查询结果
// @author       You
// @match        https://book.douban.com/*
// @grant        GM_xmlhttpRequest
// @grant        GM_setValue
// @grant        GM_getValue
// @grant         GM_listValues
// @license      MIT
// ==/UserScript==

var Debug = true;
var I = 0;
var TITLE, Booklist, CardNodes, Nodes, QueryResult;
var DoubanUrl = document.URL;
var OpacUrl = "https://opac.changshalib.cn/opac/search?&q=";
var SearchParam =
  "&searchWay=title&sortWay=title200Weight&sortOrder=desc&scWay=dim&hasholding=1&searchSource=reader";

function addLink(QueryResult, i, Title) {
  var FontColor = "red";
  if (QueryResult == "0") return 0;
  Nodes = document.createElement("span");
  Nodes.class = "cart-info";
  Nodes.innerHTML =
    '<span class="cart-info"><span class="add2cartWidget "><a target="_blank" href="' +
    OpacUrl +
    Title +
    SearchParam +
    '"class="j  a_add2cart add2cart"name="4827310"><span>长沙图书馆(<b style="color:'+FontColor+'">' +
    QueryResult +
    '</b>)</span></a></span></span>';
  CardNodes[i].appendChild(Nodes);
}

function queryHolding(Title, i) {
  setTimeout(
    GM_xmlhttpRequest({
      method: "GET",
      url: OpacUrl + Title + SearchParam,
      onload: function (response) {
        var webText = response.responseText;
        QueryResult = webText.substring(
          webText.indexOf("检索到: ") + 5,
          webText.indexOf(" 条结果")
        );
        GM_setValue(Title, QueryResult);
          if (QueryResult == "You ") { queryHolding(Title, i);return 0;}
        addLink(QueryResult, i, Title);
        //   i = i + 1;
        //   if (i < Booklist.length - 1) {
        //     Title = Booklist[i].innerText;
        //     queryHolding(Title);
        //   }
      },
      onerror: function () {
        alert("连接失败");
      },
    }),
    500
  );
}

(function () {
  Booklist = document.getElementsByTagName("h2");
  CardNodes = document.getElementsByClassName("cart-actions");

  for (var i = I; i < Booklist.length - 1; i++) {
    TITLE = Booklist[i].innerText;
    if (GM_getValue(TITLE) != undefined && GM_getValue(TITLE) != "You ") {
      console.log("缓存:" + TITLE+ GM_getValue(TITLE));
      addLink(GM_getValue(TITLE), i, TITLE);
    } else {
      queryHolding(TITLE, i);
    }
  }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址