豆瓣读书助手

为豆瓣读书页面添加亚马逊Kindle、微信读书、多看、喜马拉雅等链接

目前为 2020-10-17 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name eBooks Assistant
  3. // @name:zh-CN 豆瓣读书助手
  4. // @namespace https://github.com/caspartse/eBooksAssistant
  5. // @version 0.8.1
  6. // @description eBooks Assistant for douban.com
  7. // @description:zh-CN 为豆瓣读书页面添加亚马逊Kindle、微信读书、多看、喜马拉雅等链接
  8. // @author Caspar Tse
  9. // @license MIT License
  10. // @supportURL https://github.com/caspartse/eBooksAssistant
  11. // @match https://book.douban.com/subject/*
  12. // @require https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.min.js
  13. // @connect amazon.cn
  14. // @connect 106.52.138.60
  15. // @grant GM_xmlhttpRequest
  16. // ==/UserScript==
  17.  
  18.  
  19. (function() {
  20. var version = '0.8.0';
  21.  
  22. function queryAmazon1(isbn, title) {
  23. GM_xmlhttpRequest({
  24. method: "GET",
  25. url: "https://www.amazon.cn/s?__mk_zh_CN=亚马逊网站&i=digital-text&k=" + isbn + "&ref=nb_sb_noss&url=search-alias%3Ddigital-text",
  26. headers: {
  27. 'User-agent': window.navigator.userAgent,
  28. },
  29. onload: function(responseDetail) {
  30. var doc = responseDetail.responseText;
  31. var errorFlag = /("totalResultCount"\:0)|(在Kindle商店中未找到)|(Kindle商店中没有)/.exec(doc);
  32. if (!errorFlag) {
  33. var regexAmazonUrl = /href="(\S+keywords=\d+[^"]+)"/gi;
  34. var amazonUrl = "https://www.amazon.cn" + regexAmazonUrl.exec(doc)[1];
  35. amazonUrl = amazonUrl.replace(isbn, title);
  36. var partnerTemplate = '';
  37. if ($('.online-type[data-ebassistant="read"]').length) {
  38. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div>';
  39. $('.online-type[data-ebassistant="read"]').append(partnerTemplate.replace("{templateUrl}", amazonUrl));
  40. } else if ($('.online-type[data-ebassistant="audio"]').length) {
  41. partnerTemplate = '<div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div></div>';
  42. $('.online-type[data-ebassistant="audio"]').before(partnerTemplate.replace("{templateUrl}", amazonUrl));
  43. }
  44. else {
  45. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div></div> </div>';
  46. $("#link-report").after(partnerTemplate.replace("{templateUrl}", amazonUrl));
  47. }
  48. var regexAmazonPrice = /<span class="a-offscreen">¥([0-9\.]+)<\/span>/gi;
  49. var amazonPrice = regexAmazonPrice.exec(doc)[1];
  50. console.log(amazonPrice);
  51. var buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span><img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" style="border-radius: 50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.6);" width="16" height="16" border="0">&nbsp;Kindle</span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> </li>';
  52. if (amazonPrice == 0.00 ) {
  53. buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span > <img alt="Kindle Unlimited" src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_ku.png" width="75" height="10" border="0"> </span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> <div class="more-info"> <span class="buyinfo-promotion">KU可免费借阅</span> </div> </li>';
  54. regexAmazonPrice = /<span dir="auto">或者¥([0-9\.]+)购买<\/span>/gi;
  55. amazonPrice = regexAmazonPrice.exec(doc)[1];
  56. }
  57. buyItemTemplate = buyItemTemplate.replaceAll("{templateUrl}", amazonUrl);
  58. buyItemTemplate = buyItemTemplate.replace("{templatePrice}", amazonPrice);
  59. $("#buyinfo ul:nth-child(2)").prepend(buyItemTemplate);
  60. }
  61. return;
  62. }
  63. });
  64. return;
  65. }
  66.  
  67. function queryAmazon2(isbn, title) {
  68. GM_xmlhttpRequest({
  69. method: "GET",
  70. url: "http://106.52.138.60:8081/amazon?isbn=" + isbn + "&title=" + title + '&version=' + version,
  71. headers: {
  72. 'User-agent': window.navigator.userAgent,
  73. },
  74. onload: function(responseDetail) {
  75. var result = JSON.parse(responseDetail.responseText);
  76. console.log(result);
  77. if (result.errmsg == '') {
  78. var amazonUrl = result.data.url;
  79. var amazonPrice = result.data.price;
  80. var ku = result.data.ku;
  81. var partnerTemplate = '';
  82. if ($('.online-type[data-ebassistant="read"]').length) {
  83. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div>';
  84. $('.online-type[data-ebassistant="read"]').append(partnerTemplate.replace("{templateUrl}", amazonUrl));
  85. } else if ($('.online-type[data-ebassistant="audio"]').length) {
  86. partnerTemplate = '<div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div></div>';
  87. $('.online-type[data-ebassistant="audio"]').before(partnerTemplate.replace("{templateUrl}", amazonUrl));
  88. }
  89. else {
  90. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" width="16" height="16"> <span>Kindle</span> </a> </div></div> </div>';
  91. $("#link-report").after(partnerTemplate.replace("{templateUrl}", amazonUrl));
  92. }
  93. var buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span><img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_kindle.png" style="border-radius: 50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.6);" width="16" height="16" border="0">&nbsp;Kindle</span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> </li>';
  94. if (ku === true) {
  95. buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span > <img alt="Kindle Unlimited" src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_ku.png" width="75" height="10" border="0"> </span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> <div class="more-info"> <span class="buyinfo-promotion">KU可免费借阅</span> </div> </li>';
  96. }
  97. buyItemTemplate = buyItemTemplate.replaceAll("{templateUrl}", amazonUrl);
  98. buyItemTemplate = buyItemTemplate.replace("{templatePrice}", amazonPrice);
  99. $("#buyinfo ul:nth-child(2)").prepend(buyItemTemplate);
  100. } else {
  101. console.log('call queryAmazon1.');
  102. queryAmazon1(isbn, title);
  103. }
  104. return;
  105. }
  106. });
  107. return;
  108. }
  109.  
  110. function queryTuring(isbn) {
  111. GM_xmlhttpRequest({
  112. method: "GET",
  113. url: "http://106.52.138.60:8081/turing?isbn=" + isbn + '&version=' + version,
  114. headers: {
  115. 'User-agent': window.navigator.userAgent,
  116. },
  117. onload: function(responseDetail) {
  118. var result = JSON.parse(responseDetail.responseText);
  119. console.log(result);
  120. if (result.errmsg == '') {
  121. var turingUrl = result.data.url;
  122. var turingPrice = result.data.price;
  123. var partnerTemplate = '';
  124. if ($('.online-type[data-ebassistant="read"]').length) {
  125. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_turing.png" width="16" height="16"> <span>图灵社区</span> </a> </div>';
  126. $('.online-type[data-ebassistant="read"]').append(partnerTemplate.replace("{templateUrl}", turingUrl));
  127. } else if ($('.online-type[data-ebassistant="audio"]').length) {
  128. partnerTemplate = '<div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_turing.png" width="16" height="16"> <span>图灵社区</span> </a> </div></div>';
  129. $('.online-type[data-ebassistant="audio"]').before(partnerTemplate.replace("{templateUrl}", turingUrl));
  130. }else {
  131. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_turing.png" width="16" height="16"> <span>图灵社区</span> </a> </div></div> </div>';
  132. $("#link-report").after(partnerTemplate.replace("{templateUrl}", turingUrl));
  133. }
  134. var buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span><img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_turing.png" style="border-radius: 50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.6);" width="16" height="16" border="0">&nbsp;图灵社区</span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> </li>';
  135. buyItemTemplate = buyItemTemplate.replaceAll("{templateUrl}", turingUrl);
  136. buyItemTemplate = buyItemTemplate.replace("{templatePrice}", turingPrice);
  137. $("#buyinfo ul:nth-child(2)").prepend(buyItemTemplate);
  138. }
  139. return;
  140. }
  141. });
  142. return;
  143. }
  144.  
  145.  
  146. function queryXimalaya(isbn, title, author) {
  147. GM_xmlhttpRequest({
  148. method: "GET",
  149. url: "http://106.52.138.60:8081/ximalaya?isbn=" + isbn + "&title=" + title + "&author=" + author + '&version=' + version,
  150. headers: {
  151. 'User-agent': window.navigator.userAgent,
  152. },
  153. onload: function(responseDetail) {
  154. var result = JSON.parse(responseDetail.responseText);
  155. console.log(result);
  156. if (result.errmsg == '') {
  157. var ximalayaUrl = result.data.url;
  158. var partnerTemplate = '';
  159. if ($(".online-partner .online-type").length == 2) {
  160. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_ximalaya.png" width="16" height="16"> <span>喜马拉雅</span> </a> </div>';
  161. $('.online-type[data-ebassistant="audio"]').append(partnerTemplate.replace("{templateUrl}", ximalayaUrl));
  162. } else if ($(".online-partner .online-type").length == 1) {
  163. partnerTemplate = '<div class="online-type" data-ebassistant="audio"> <span>在线试听:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_ximalaya.png" width="16" height="16"> <span>喜马拉雅</span> </a> </div></div>';
  164. $('.online-type[data-ebassistant="read"]').after(partnerTemplate.replace("{templateUrl}", ximalayaUrl));
  165. } else {
  166. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="audio"> <span>在线试听:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_ximalaya.png" width="16" height="16"> <span>喜马拉雅</span> </a> </div></div> </div>';
  167. $("#link-report").after(partnerTemplate.replace("{templateUrl}", ximalayaUrl));
  168. }
  169. }
  170. return;
  171. }
  172. });
  173. return;
  174. }
  175.  
  176. function queryDuokan(isbn) {
  177. GM_xmlhttpRequest({
  178. method: "GET",
  179. url: "http://106.52.138.60:8081/duokan?isbn=" + isbn + '&version=' + version,
  180. headers: {
  181. 'User-agent': window.navigator.userAgent,
  182. },
  183. onload: function(responseDetail) {
  184. var result = JSON.parse(responseDetail.responseText);
  185. console.log(result);
  186. if (result.errmsg == '') {
  187. var duokanUrl = result.data.url;
  188. var duokanPrice = result.data.price;
  189. var partnerTemplate = '';
  190. if ($('.online-type[data-ebassistant="read"]').length) {
  191. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_duokan.png" width="16" height="16"> <span>多看阅读</span> </a> </div>';
  192. $('.online-type[data-ebassistant="read"]').append(partnerTemplate.replace("{templateUrl}", duokanUrl));
  193. } else if ($('.online-type[data-ebassistant="audio"]').length) {
  194. partnerTemplate = '<div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_duokan.png" width="16" height="16"> <span>多看阅读</span> </a> </div></div>';
  195. $('.online-type[data-ebassistant="audio"]').before(partnerTemplate.replace("{templateUrl}", duokanUrl));
  196. } else {
  197. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_duokan.png" width="16" height="16"> <span>多看阅读</span> </a> </div></div> </div>';
  198. $("#link-report").after(partnerTemplate.replace("{templateUrl}", duokanUrl));
  199. }
  200. var buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span><img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_duokan.png" style="border-radius: 50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.6);" width="16" height="16" border="0">&nbsp;多看阅读</span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> </li>';
  201. buyItemTemplate = buyItemTemplate.replaceAll("{templateUrl}", duokanUrl);
  202. buyItemTemplate = buyItemTemplate.replace("{templatePrice}", duokanPrice);
  203. $("#buyinfo ul:nth-child(2)").prepend(buyItemTemplate);
  204. }
  205. return;
  206. }
  207. });
  208. return;
  209. }
  210.  
  211.  
  212. function queryWeread(isbn, title, author) {
  213. GM_xmlhttpRequest({
  214. method: "GET",
  215. url: "http://106.52.138.60:8081/weread?isbn=" + isbn + "&title=" + title + "&author=" + author + '&version=' + version,
  216. headers: {
  217. 'User-agent': window.navigator.userAgent,
  218. },
  219. onload: function(responseDetail) {
  220. var result = JSON.parse(responseDetail.responseText);
  221. console.log(result);
  222. if (result.errmsg == '') {
  223. var duokanUrl = result.data.url;
  224. var duokanPrice = result.data.price;
  225. var partnerTemplate = '';
  226. if ($('.online-type[data-ebassistant="read"]').length) {
  227. partnerTemplate = '<div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_weread.png" width="16" height="16"> <span>微信读书</span> </a> </div>';
  228. $('.online-type[data-ebassistant="read"]').append(partnerTemplate.replace("{templateUrl}", duokanUrl));
  229. } else if ($('.online-type[data-ebassistant="audio"]').length) {
  230. partnerTemplate = '<div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_weread.png" width="16" height="16"> <span>微信读书</span> </a> </div></div>';
  231. $('.online-type[data-ebassistant="audio"]').before(partnerTemplate.replace("{templateUrl}", duokanUrl));
  232. } else {
  233. partnerTemplate = '<div class="online-partner"> <div class="online-type" data-ebassistant="read"> <span>在线试读:</span> <div class="online-read-or-audio"> <a class="impression_track_mod_buyinfo" target="_blank" href="{templateUrl}" one-link-mark="yes"> <img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_weread.png" width="16" height="16"> <span>微信读书</span> </a> </div></div> </div>';
  234. $("#link-report").after(partnerTemplate.replace("{templateUrl}", duokanUrl));
  235. }
  236. var buyItemTemplate = '<li> <div class="cell price-btn-wrapper"> <div class="vendor-name"> <a target="_blank" href="{templateUrl}"> <span><img src="https://ebooks-assistant-1301990979.cos.ap-guangzhou.myqcloud.com/icon_weread.png" style="border-radius: 50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.6);" width="16" height="16" border="0">&nbsp;微信读书</span> </a> </div> <div class="cell impression_track_mod_buyinfo"> <div class="cell price-wrapper"> <a target="_blank" href="{templateUrl}"> <span class="buylink-price "> {templatePrice}元 </span> </a> </div> <div class="cell"> <a target="_blank" href="{templateUrl}" class="buy-book-btn e-book-btn"> <span>购买电子书</span> </a> </div> </div> </div> </li>';
  237. buyItemTemplate = buyItemTemplate.replaceAll("{templateUrl}", duokanUrl);
  238. buyItemTemplate = buyItemTemplate.replace("{templatePrice}", duokanPrice);
  239. $("#buyinfo ul:nth-child(2)").prepend(buyItemTemplate);
  240. }
  241. return;
  242. }
  243. });
  244. return;
  245. }
  246.  
  247. try {
  248. $(".online-partner .online-type:nth-child(1)").attr("data-ebassistant", "read");
  249. $(".online-partner .online-type:nth-child(2)").attr("data-ebassistant", "audio");
  250. } catch(e) {
  251. console.log(e);
  252. }
  253. var newStyle = `<style type="text/css" media="screen">
  254. .online-partner{flex-wrap:wrap;padding-top:5px;padding-bottom:5px}.online-type{flex-wrap:wrap}.online-read-or-audio{margin-top:5px;margin-bottom:5px}.online-partner .online-type:nth-child(1){margin-right:20px}.online-partner .online-type:nth-child(2){padding-left:0}[data-ebassistant=read] div:last-child a{margin-right:0}
  255. </style>`;
  256. $("#content").append(newStyle);
  257.  
  258. var regexLinkedData = /<script type="application\/ld\+json">([\s\S]+?)<\/script>/g;
  259. var linkedData = regexLinkedData.exec(document.documentElement.innerHTML)[1].trim();
  260. linkedData = JSON.parse(linkedData);
  261. console.log(linkedData);
  262. var isbn = linkedData.isbn;
  263. console.log(isbn);
  264. var title = linkedData.name;
  265. console.log(title);
  266. var authorStr = "";
  267. for (var i=0, j=linkedData.author.length; i<j; i++) {
  268. authorStr += linkedData.author[i].name + " " ;
  269. }
  270. var author = authorStr;
  271. console.log(author);
  272.  
  273. queryAmazon2(isbn, title);
  274. queryWeread(isbn, title, author);
  275. queryDuokan(isbn);
  276. queryXimalaya(isbn, title, author);
  277. queryTuring(isbn);
  278.  
  279. return;
  280. })();