您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
网上学院函数库:弹出窗口改为新标签页
当前为
此脚本不应直接安装,它是供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/395997/769708/wsxy_windowToTab.js
- // ==UserScript==
- // @name wsxy_windowToTab
- // @namespace Vionlentmonkey
- // @version 0.4
- // @description 网上学院函数库:弹出窗口改为新标签页
- // @require https://greasyfork.org/scripts/395748-wsxy-getdata/code/wsxy_getData.js
- // @grant none
- // ==/UserScript==
- // 快捷键批量打开听课页面所调用函数
- const openTrains = () => {
- let trains = '';
- // 首页 iframe
- if (location.pathname.includes('homepage.jsp')) {
- trains = document.getElementsByClassName('course');
- }
- // 培训课程查询 iframe
- if (location.pathname.includes('course_query.jsp')) {
- trains = document.querySelectorAll('#trainCourseList a[onclick^=bindBeginTrainEvents]');
- }
- let i = 0;
- for (let train of trains) {
- let applyPk = '';
- // 首页 iframe
- if (location.pathname.includes('homepage.jsp')) {
- // 报名后不再隐藏
- applyPk = train.getElementsByClassName('applyPk')[0].textContent;
- }
- // 培训课程查询 iframe
- if (location.pathname.includes('course_query.jsp')) {
- applyPk = train.getAttribute('onclick').split('"')[1];
- }
- if (applyPk !== '') {
- let trainURL =
- location.origin +
- '/sfxzwsxy/jypxks/modules/train/ware/course_ware_view.jsp?applyPk=' +
- applyPk +
- '&courseType=1';
- GM_openInTab(trainURL, true);
- i++;
- // 疑似超过 6 个课程同时学习后台不计数
- if (i >= GM_config.get('batch')) {
- console.log(`已批量打开${i}个课程`);
- return;
- }
- }
- }
- };
- /** 最新知识库。
- * 年终考试题库在此公布,需要层层打开 iframe 最终获取 swf 地址,然后以 IE 打开,
- * 打印所有页,输出 PDF,二次打印输出 PDF,再用 Word 等进行 OCR。
- */
- const openKnowledge = () => {
- const knowledges = document.querySelectorAll('#knowledgeType a[title][href="#"]');
- for (let knowledge of knowledges) {
- const kURL =
- location.origin +
- '/sfxzwsxy/jypxks/modules/learn/document/learn/document_learn_text.jsp?fkNodePk=' +
- knowledge
- .getAttribute('onclick')
- .split('(')[1]
- .split(')')[0];
- //console.log(kURL);
- knowledge.href = kURL;
- knowledge.onclick = '';
- knowledge.target = '_blank';
- }
- };
- // 清理两处“参加考试”按钮,使其点击时在新标签页打开考题及答案。
- const handelExamList = async exams => {
- for (let exam of exams) {
- const examURL = location.origin + '/sfxzwsxy/' + exam.getAttribute('onclick').split("'")[1];
- exam.href = examURL;
- exam.onclick = '';
- exam.target = '_blank';
- let course_pk = '';
- let answerURL = '';
- // 在线考试 - 课程考试 iframe
- if (examURL.includes('course_pk=')) {
- coursePk = examURL.split('course_pk=')[1].split('&')[0];
- answerURL =
- location.origin +
- '/sfxzwsxy//jypxks/modules/train/course/subject_list.jsp?coursePk=' +
- coursePk +
- '&op=view';
- }
- // 首页 - 考试提醒 - 课程考试
- else if (exam.getAttribute('title')) {
- const csDataObj = await getCourseData();
- const exam_courses = csDataObj.exam_courses;
- const title = exam.getAttribute('title');
- for (let e of exam_courses) {
- if (e.course_name === title) {
- course_pk = String(e.course_pk);
- answerURL =
- location.origin +
- '/sfxzwsxy//jypxks/modules/train/course/subject_list.jsp?coursePk=' +
- course_pk +
- '&op=view';
- }
- }
- }
- exam.addEventListener('click', () => {
- GM_openInTab(answerURL, true);
- GM_notification('答案已同步在隔壁标签页打开。\n暂请考试结束后手动关闭。');
- });
- }
- };
- // 培训课程查询 iframe 清理“参加培训”和“查看”链接
- const inquireList = () => {
- let trains = document.querySelectorAll('#trainCourseList a[onclick^=bindBeginTrainEvents]');
- for (let train of trains) {
- let applyPk = train.getAttribute('onclick').split('"')[1];
- let trainURL =
- location.origin +
- '/sfxzwsxy/jypxks/modules/train/ware/course_ware_view.jsp?applyPk=' +
- applyPk +
- '&courseType=1';
- train.href = trainURL;
- train.onclick = '';
- train.target = '_blank';
- }
- let infos = document.querySelectorAll('#trainCourseList a[onclick^=bindViewCourseInfoEvents]');
- for (let info of infos) {
- let coursePk = info.getAttribute('onclick').split('"')[1];
- let infoURL =
- location.origin +
- '/sfxzwsxy/jypxks/modules/train/course/course_view.jsp?coursePk=' +
- coursePk;
- info.href = infoURL;
- info.onclick = '';
- info.target = '_blank';
- }
- };
- // 培训课程查询 - 查看 - 题干 iframe
- const viewSubject = () => {
- const subjects = document.querySelectorAll('a[onclick^=viewSubject]');
- for (let subject of subjects) {
- const subjectPk = subject
- .getAttribute('onclick')
- .split('(')[1]
- .split(')')[0];
- const subjectURL =
- location.origin +
- '/sfxzwsxy//jypxks/modules/train/course/subject_view.jsp?subjectPk=' +
- subjectPk;
- subject.href = subjectURL;
- subject.onclick = '';
- subject.target = '_blank';
- }
- };