bookget

某些学校分享电子书,提取图片进行打印。

  1. // ==UserScript==
  2. // @name bookget
  3. // @author songshu
  4. // @description 某些学校分享电子书,提取图片进行打印。
  5. // @version 2022.12.31.10
  6. // @include *://book.yunzhan365.com/mmdh/*
  7. // @include *://book.yunzhan365.com/*
  8. // @include *://www.yunzhan365.com/*
  9. // @include *://bp.pep.com.cn/ebook/*
  10. // @run-at document-end
  11. // @namespace https://gf.qytechs.cn/zh-CN/users/songshu
  12. // @license The MIT License (MIT); http://opensource.org/licenses/MIT
  13. // ==/UserScript==
  14. (function () {
  15. 'use strict';
  16. //alert("欢迎使用图片提取插件");
  17. //添加图片一键提取
  18. setTimeout(clock, 2000);
  19.  
  20. function clock(){
  21. getbook("bookContainer");
  22. document.getElementById('bookContainer').addEventListener('click', showjpg, false); //默认自动加载;
  23. }
  24.  
  25. function getbook(divID) {//bookContainer getbook("bookContainer");
  26. var modmenut,
  27. AnYigetjpg;
  28. modmenut = document.getElementById(divID);
  29. if (modmenut) {
  30.  
  31. AnYigetjpg = document.createElement('div');
  32. AnYigetjpg.setAttribute('id','begbut');
  33. AnYigetjpg.innerHTML = '<div style="z-index:99999;margin-top: 2px;left:70px;right:auto ; position: fixed;bottom: 100px;background:#28c0c6;border:1px #cdcdcd solid; "> <button id="getjpg" name="getjpg" ><span style="font-size: 22px;margin:3px;">获得图片</span></button></div>';
  34. modmenut.insertBefore(AnYigetjpg, modmenut.firstchild);
  35. //modmenut.innerHTML = AnYigetjpg.innerHTML;
  36. }
  37. }
  38.  
  39. function showjpg(){//显示已获取的图片地址
  40. var i;//初始页
  41. var page;//初始页
  42. var phtml;//图片地址。
  43. i = getbeginID();
  44. page="page"+i;
  45.  
  46. phtml="";
  47. while(ifdivid(page)){
  48. var jpgurl=gethref(page);
  49. if(jpgurl){
  50. phtml=phtml+ "<a target=\"_blank\" href='"+jpgurl+"'>"+page+"</a>";
  51. }
  52. i=Number(i)+1;
  53. page="page"+i;
  54. }
  55.  
  56. var showjpgdiv;
  57. showjpgdiv = document.getElementById("showjpgid");
  58. if(showjpgdiv){
  59. var showjpgdivnxt=showjpgdiv.getElementsByTagName("div");
  60. showjpgdivnxt[0].innerHTML = phtml;
  61. }
  62. else {
  63. showjpgdiv= document.createElement('div');
  64. showjpgdiv.setAttribute('id','showjpgid');
  65. showjpgdiv.innerHTML = '<div style="z-index:1005;margin-top: 2px;left:70px;right:auto ; position: fixed;bottom: 150px;background:#28c0c6;border:1px #cdcdcd solid; ">'+phtml+'</div>';
  66. }
  67. var getjpgdiv = document.getElementById("bookContainer");
  68. getjpgdiv.insertBefore(showjpgdiv,getjpgdiv.firstchild);
  69.  
  70. }
  71.  
  72. function getbeginID(){//判断是否存在该id
  73. var path=1;
  74. var i=0;
  75. var domi;
  76. if(ifdivid("bookContainer")>0){
  77. domi = document.getElementById("bookContainer");
  78. var domibook =domi.getElementsByClassName("book");//book
  79. if(domibook){
  80. var dividpage=domibook[3].getElementsByClassName("down-single-mask-side");//选用第二个book里的内容。
  81. var divpageMask=dividpage[i];
  82. while(!divpageMask.id){
  83. i=i+1;
  84. divpageMask=dividpage[i];
  85. }
  86. path=divpageMask.id;
  87. path = path.substring(8,path.length); //文件名称去掉路径和后缀名
  88. return path;
  89. }
  90. else return 1;
  91. }
  92. else return 1;
  93. }
  94.  
  95.  
  96. function ifdivid(divID){//判断是否存在该id
  97. var domi;
  98. domi = document.getElementById(divID);
  99. if(domi){
  100. return 1;
  101. }
  102. else return 0;
  103. }
  104.  
  105. function gethref(page){
  106. var imgurl="";
  107. var jpgdiv= document.getElementById(page).getElementsByTagName("div");
  108. var jpgget= jpgdiv[0].getElementsByTagName("img");
  109. if(jpgget[0].src){
  110. imgurl=jpgget[0].src;
  111. imgurl=imgurl.substring(0, imgurl.indexOf("?"));
  112. return imgurl;
  113. }
  114. else return "";
  115. }
  116.  
  117. }) ();

QingJ © 2025

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