// ==UserScript== // @name 超星/学习通章节内ppt下载 // @namespace https://greasyfork.org/zh-CN/users/782923-asea // @version 1.0.6 // @description 点击右上角下载ppt的按钮即可 // @author Asea // @match https://*.chaoxing.com/mycourse/studentstudy* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license GPL-3.0-only // @downloadURL https://update.greasyfork.icu/scripts/446613/%E8%B6%85%E6%98%9F%E5%AD%A6%E4%B9%A0%E9%80%9A%E7%AB%A0%E8%8A%82%E5%86%85ppt%E4%B8%8B%E8%BD%BD.user.js // @updateURL https://update.greasyfork.icu/scripts/446613/%E8%B6%85%E6%98%9F%E5%AD%A6%E4%B9%A0%E9%80%9A%E7%AB%A0%E8%8A%82%E5%86%85ppt%E4%B8%8B%E8%BD%BD.meta.js // ==/UserScript== (function() { 'use strict'; window.onload = f; function f() { setTimeout(()=>{ var div=document.createElement("div"); div.innerText = "下载pdf"; document.body.appendChild(div); document.body.insertBefore(div, document.body.firstElementChild); div.style.position = "fixed"; div.style.right="10px"; div.style.top="0px"; div.style.zIndex=9999999; div.style.color="#fff"; div.style.background="#333"; div.style.padding="10px"; div.style.fontWeight="bold"; div.style.borderRadius="3px"; div.style.cursor="pointer"; div.style.display="block" div.onclick=download; }, 100) } function download(){ let files = document.getElementById("iframe").contentWindow.document.querySelectorAll("iframe[class^='ans-attach-online insertdoc-online-p']"); if (files.length == 0){ alert("该页面未检测到ppt"); return; } let num = Number(prompt("一共" + files.length + "个文件,下载第几个?(默认下载全部)")); if(num != 0 && num <= files.length && num > 0){ let frame = $(''); frame.attr('src',"https://cs-a" + "ns.chaoxing.com/download/" + JSON.parse(files[num - 1].getAttribute('data')).objectid); $(document.body).append(frame); setTimeout(function() { frame.remove(); }, 1000); }else if(num == 0){ for( let i = 0; i < files.length; i++){ let frame = $(''); // ans好像会被浏览器检测为广告???所以拆开了 frame.attr('src',"https://cs-a" + "ns.chaoxing.com/download/" + JSON.parse(files[i].getAttribute('data')).objectid); $(document.body).append(frame); setTimeout(function() { frame.remove(); }, 1000); } }else{ alert("非法输入"); } } })();