bookget

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

当前为 2020-02-15 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name bookget
  3. // @author songshu
  4. // @description 某些学校分享电子书,提取图片进行打印。
  5. // @version 2020.2.15.06
  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://greasyfork.org/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. function clock(){
  20. getbook("tmpContainer");
  21. function getbook(divID) {//bookContainer getbook("bookContainer");
  22. var modmenut,
  23. AnYigetjpg;
  24. modmenut = document.getElementById(divID);
  25. if (modmenut) {
  26.  
  27. AnYigetjpg = document.createElement('div');
  28. AnYigetjpg.setAttribute('id','begbut');
  29. 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>';
  30. modmenut.insertBefore(AnYigetjpg, modmenut.firstchild);
  31. //modmenut.innerHTML = AnYigetjpg.innerHTML;
  32. }
  33. }
  34. document.getElementById('tmpContainer').addEventListener('click', showjpg, false); //默认已回复;
  35.  
  36. }
  37. function showjpg(){//显示已获取的图片地址
  38. var i;//初始页
  39. var page;//初始页
  40. var phtml;//图片地址。
  41. i = getbeginID();
  42. page="page"+i;
  43. phtml="";
  44. while(ifdivid(page)){
  45. var jpgurl=gethref(page);
  46. phtml=phtml+ "<a target=\"_blank\" href='"+jpgurl+"'>"+page+"</a>";
  47. i=Number(i)+1;
  48. page="page"+i;
  49. }
  50. var showjpgdiv;
  51. showjpgdiv = document.getElementById("showjpgid");
  52. if(showjpgdiv){
  53. var showjpgdivnxt=showjpgdiv.getElementsByTagName("div");
  54. showjpgdivnxt[0].innerHTML = phtml;
  55. }
  56. else {
  57. showjpgdiv= document.createElement('div');
  58. showjpgdiv.setAttribute('id','showjpgid');
  59. 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>';
  60. }
  61. var getjpgdiv = document.getElementById("tmpContainer");
  62. getjpgdiv.insertBefore(showjpgdiv,getjpgdiv.firstchild);
  63. }
  64. function getbeginID(){//判断是否存在该id
  65. if(ifdivid("page3")<1){
  66. var domi;
  67. domi = document.getElementById("currentPageIndexTextField");
  68. if(domi){
  69. var path = domi.value;
  70. path = path.substring(0,path.indexOf('-')); //文件名称去掉路径和后缀名
  71. return path;
  72. }
  73. else return 1;
  74. }
  75. else return 1;
  76. }
  77. function ifdivid(divID){//判断是否存在该id
  78. var domi;
  79. domi = document.getElementById(divID);
  80. if(domi){
  81. return 1;
  82. }
  83. else return 0;
  84. }
  85. function gethref(page){
  86. var jpgdiv= document.getElementById(page).getElementsByTagName("div");
  87. var jpgget= jpgdiv[0].getElementsByTagName("img");
  88. var imgurl=jpgget[0].src;
  89. imgurl=imgurl.substring(0, imgurl.indexOf("?"));
  90. return imgurl;
  91. }
  92. }) ();