您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
GrimRipper Cmoa upgraded
- // ==UserScript==
- // @name neoCmoaRipper
- // @namespace http://tampermonkey.net/
- // @version 1.1
- // @description GrimRipper Cmoa upgraded
- // @author XXXXXXXXXIII, weebuwy
- // @match https://www.cmoa.jp/bib/speedreader/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=cmoa.jp
- // @license MIT
- // ==/UserScript==
- const width = 1125; // USER: image size
- const height = 1600;
- let downloaded = [];
- (function() {
- 'use strict';
- var page = -1;
- setInterval(() => {
- try {
- if (page < 1) page = getPageNum();
- page = getPageNum();
- for (let i = 1; i <= page; i++) {
- if (downloaded.includes(i)) continue;
- setContainer(i);
- let imgs = getImgs(i);
- saveImage(imgs, i);
- downloaded.push(i);
- }
- } catch (e) {
- console.log(e.message);
- }
- }, 100);
- })();
- function saveImage(imgs, page) {
- console.log(`saved page ${page}`);
- let canvas = document.createElement('canvas');
- let ctx = canvas.getContext('2d');
- canvas.width = 1125;
- canvas.height = 1600;
- ctx.drawImage(imgs[0], 0, 0);
- ctx.drawImage(imgs[1], 0, canvas.height * 0.3325);
- ctx.drawImage(imgs[2], 0, canvas.height * 0.665 );
- canvas.toBlob((blob) => {
- var image = URL.createObjectURL(blob);
- var a = document.createElement('a');
- a.href = image;
- document.body.appendChild(a);
- a.download = page + ".png";
- a.click(); // USER: Disable ask where to store file location setting for usability
- document.body.removeChild(a);
- }, 'image/png', 1);
- }
- function setContainer(page) {
- var container = document.getElementById('content-p' + page);
- container.style.width = width + 'px';
- container.style.height = height + 'px';
- }
- function getImgs(page) {
- return document.getElementById('content-p' + page).getElementsByTagName('IMG');
- }
- function getPageNum() {
- var pageNum = document.getElementById('menu_slidercaption').innerHTML;
- return Number(pageNum.replace(/\/.*/i, ""));
- }