// ==UserScript== // @name 超星ss.chaoxing.com 及各地图书馆包库 的在线书一键获取目录 直接用于PDF目录编辑 // @namespace http://tampermonkey.net/ // @version 0.5 //@icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJLgAAh5UAAITXAACA+QAAfPkAAHjZAABzlwECbzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQIAACUlQAAk/0AAJT/AACU/wAAkv8AAI//AACJ/wAAgf8AAHf9AQFwmQkLbgoAAAAAAAAAAAAAAAAAAJsIAACbvQAAnf8AAJ//AACg/wAAoP8AAJ7/AACb/wAAl/8AAJH/AACI/wAAfP8BAXLBCg1wCgAAAAAAAAAAAAChkzM0tv9FRr//Dg2v/0ZGwv8uLrr/ICC0/0VGvv8nKLD/Hh+o/0RFsv8wMaL/AAB+/wECc5kAAAAAAACmKgEAqf2lp+f/7PD8/0VDy//z9/7/YmHT/8bJ8P/S1fT/XF3L/93i9f9nasj/Bgaa/wAAi/8AAHz9AQJ0LgIArI8EALL/dHPd//H2/v9TT9f/9fn+/05K1f/3+v7/aGfX/+fq+v8/PsT/AACn/wAAnv8AAJX/AACH/wAAepUEALPRBgC6/yUdzf/v8/7/am7h//b4/v9mbN//+vz+/3h24f+pqen/BQC3/wMArv8AAKX/AACb/wAAkP8AAIDVBgC58QkAwf8REMj/naXu/8LI8v/DyfX/lJ7p/+zu/P+Pl+n/kY/l/wcAvv8FALX/AQCr/wAAof8AAJb/AACH9QgAvvEOCcf/IjDO/0VV2P/j4/r/trrw/+nq+v+ssu//pKzu/87P9f8OBcT/BgC6/wMAsP8AAKX/AACa/wAAjfUJAMLRFx3L/zFD0/9OXtv/g4nm/+7t+//T0vb/1Nb2/8PG9P+Zo+3/g4Hj/wcAvf8EALP/AACo/wAAnP8AAJHVCwHFjx0ozf86TNX/XWre/4OH5/+uqfD/4+H6/9/e+P/GyPT/rbXx/+3w/f+VlOT/fX/a/wEAqf8AAJ7/AACUlQ0FxyodKc39OkzV/11q3v+Dh+f/pJ7u/5mW7P+Ul+r/q6/v/+bp/P/3+f7/8/f+/yUjv/8BAKn/AACe/QAAli4AAAAAHSjMkzJD0/9OXtv/a3Xi/32D5v94f+X/YGzf/0JT1/8uPtT/6u/9/6Sk7v94edj/AQCo/wAAn5cAAAAAAAAAABwnzAgmNs+9OUrV/0xc2v9XZd3/VGLc/0VV2P8wQdL/GiLN/15c2v8GALr/BwOz/wAApr8AAKAIAAAAAAAAAAAAAAAAIS/OCCc30JUvP9L9NUbU/zNF0/8qOtD/GyTM/wwFxv8IAL7/BQC1/QIArZkAAKcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHyzNLh4qzZUZIcvXERDI+QsCxPkIAL/ZBgC5lwQAszAAAAAAAAAAAAAAAAAAAAAA+B8AAOAHAADAAwAAgAEAAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAAgAEAAMADAADgBwAA+B8AAA== // @description 可以通过点击右侧的按钮直接复制出 超星ss.chaoxing.com 及各地图书馆包库的在线书获取目录哦,直接用于FreePic2Pdf的目录编辑FreePic2Pdf_bkmk.txt,省时省力。 // @author 405647825@qq.com // @include *ss.chaoxing.com/ebook/list?dxid=* // @include */n/slib/book/slib/* // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @downloadURL none // ==/UserScript== (function() { 'use strict'; //处于 ss.chaoxing.com/ebook/list?dxid= 网站时 if(location.href.match(/ss\.chaoxing\.com\/ebook\/list\?dxid=/)){ var jsonUrl = location.href.replace('list?','searchlistbyjson?'); var jsonMenuContent = ''; GM_xmlhttpRequest({ method: 'GET', url: jsonUrl, headers: { 'User-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36', 'Accept': 'application/json', }, onload: function(responseDetails) { var jsonData = eval('(' + responseDetails.responseText + ')'); for(var i = 0; i < jsonData.length; i++){ var currEntry = jsonData[i]; var jsonTitle = currEntry.content; var jsonPageNumber = currEntry.page.split('-')[0]; console.log(jsonTitle + '\t' + jsonPageNumber); jsonMenuContent += jsonTitle + '\t' + jsonPageNumber + '\n'; } unsafeWindow.copyJsonMenu = function() { GM_setClipboard(jsonMenuContent); }; document.body.innerHTML += '
'; } }); } // var menuContent = ''; var level = 0; function display(elem){ var elem_child = elem.childNodes; for(var i=0; i zwNum){ break; } } var afterZWenNum = baseNum - zwNum - beforeZWenNum; console.log('此书的总页数:' + baseNum); console.log('正文之前页数:' + beforeZWenNum); console.log('正文页数:' + zwNum); console.log('正文之后页数:' + afterZWenNum); var structure = '此书的总页数:' + baseNum + '\n' + '正文之前页数:' + beforeZWenNum + '\n' + '正文页数:' + zwNum + '\n' + '正文之后页数:' + afterZWenNum + '\n'; */ //获取目录的在线XML Url var menuUrl = document.body.querySelector('param[value^="/tree.swf?kid"]').value.replace('/tree.swf?','http://path.sslibrary.com/cat/cat2xml.dll?'); //添加按钮 复制目录 console.log(menuUrl); //document.body.innerHTML += '
'; document.querySelector('#dirsidebar').innerHTML += '
'; unsafeWindow.copyMenu = function() { GM_xmlhttpRequest({ method: 'GET', url: menuUrl, headers: { 'User-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml,text/xml', }, onload: function(responseDetails) { var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText, "text/xml"); //console.warn(dom.firstChild); display(dom.firstChild); GM_setClipboard(menuContent); } }); }; } // Your code here... })();