这同样适用于 Forclass,Sunclass,271BAY,Zhizhiniao
当前为
// ==UserScript==
// @name Crack Forclass
// @namespace https://www.forclass.tk/script
// @version 3.7.0
// @icon https://houtar.coding.net/p/crackForclass/d/crackForclass/git/raw/master/icon.png
// @description 这同样适用于 Forclass,Sunclass,271BAY,Zhizhiniao
// @author Houtarchat
// @match *://*.forclass.net/Student/Dati*
// @match *://*.271bay.com/Student/Dati*
// @match *://web.zhizhiniao.com/Student/Dati*
// @contributionURL https://www.houtarchat.ml/donate.html
// @contributionAmount 5 RMB
// @license GNU General Public License
// @run-at document-idle
// ==/UserScript==
(() => {
/* jslint browser: true */
/* global unsafeWindow */
unsafeWindow.g_debugmode = true;
const aidx = unsafeWindow.getRequestParamValue('aidx'), paidx = unsafeWindow.getRequestParamValue('paidx');
unsafeWindow.tick = () => null;
unsafeWindow.polling4Submit = () => null;
unsafeWindow.$('.qoption input,.qoption textarea').unbind('cut copy paste');
unsafeWindow.document
.querySelector(
'#paperoperation > div.el-dati-funcs.el-upload-submit > div.el-dati-submit-td'
)
.setAttribute('class', 'el-dati-submit-td');
if (unsafeWindow.getRequestParamValue('type') === '5') {
const oneClickCompletionReviewButton = document.createElement('input');
oneClickCompletionReviewButton.onclick = () =>
unsafeWindow.addToQueue('UploadAttachmentPaperAnswer2', {
aidx,
session: unsafeWindow.getSession(),
page: 1,
studentAnswer: '<style>[ads]{vertical-align:baseline;font-weight:400;font-style:normal;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.3em;letter-spacing:0}[ads] a{text-decoration:none}[ads] .ea-content{margin:1em 1em .5em;padding:1em;background:rgba(0,0,0,.03);color:#505050}[ads] .ea-content a:link,[ads] .ea-content a:visited{color:#505050}[ads] .ea-content a:active,[ads] .ea-content a:hover{color:#373737}[ads] .ea-content a b,[ads] .ea-content a strong{color:#088cdb}[ads] .ea-callout a:link,[ads] .ea-callout a:visited{color:#6a6a6a}[ads] .ea-callout a:active,[ads] .ea-callout a:hover{color:#505050}[ads] .ea-callout a{font-size:.8em}[ads] .ea-content{border:0;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.15)}[ads] .ea-content{border:0;border-radius:3px;box-shadow:none}[ads]{font-size:14px}[ads] .ea-content{text-align:left}[ads] .ea-callout{margin:.5em 1em 1em;padding-right:1em;padding-left:1em;text-align:right;font-style:italic}</style><div ads><div class=\'ea-content\'><a href=\'https://greasyfork.org/zh-CN/scripts?set=451857\' rel=\'nofollow\' target=\'_blank\'><strong>Crack Forclass: </strong><span>The best plugin for Forclass.</span> <strong>Try it now!</strong></a></div><div class=\'ea-callout\'><a target=\'_blank\' href=\'https://greasyfork.org/zh-CN/users/614734-houtar0chat\'>Ad by Houtarchat</a></div></div>',
studentAnswerURL: '',
size: '',
}, () => {
unsafeWindow.http('GetStudentAnsweredPaper', {
session: unsafeWindow.getSession(),
page: 1,
paidx,
aidx,
}, response =>
unsafeWindow.addToQueue('SetAssignmentPaperAnswer', {
session: JSON.parse(unsafeWindow.sessionStorage.account).session,
paIdx: response[0].PAIdx,
score: '100',
comment: '',
page: 0,
}, () => null, '', true), '');
}, '', true);
oneClickCompletionReviewButton.type = 'button';
oneClickCompletionReviewButton.value = '一键完成&批阅';
$('.el-dati-attach-require').append(oneClickCompletionReviewButton);
} else {
const htTime = document.createElement('input');
htTime.id = 'HT-Time';
htTime.value = 'HH:mm:ss';
const modificationTimeButton = document.createElement('input');
modificationTimeButton.onclick = () => [unsafeWindow.sessionStorage.hour, unsafeWindow.sessionStorage.minute, unsafeWindow.sessionStorage.second] = $('#HT-Time').val().split(':');
modificationTimeButton.type = 'button';
modificationTimeButton.value = '修改答题所用时间';
const openAnswerPageByFrameButton = document.createElement('input');
openAnswerPageByFrameButton.onclick = () => {
const out = unsafeWindow.document.createElement('div'), bar = unsafeWindow.document.createElement('div'),
title = unsafeWindow.document.createElement('div'), rtbtns = unsafeWindow.document.createElement('div'),
closeE = unsafeWindow.document.createElement('div'),
body = unsafeWindow.document.createElement('iframe');
out.setAttribute('class', 'dlg-out');
out.setAttribute(
'style',
'z-index:3000;left:362.5px;top:140.5px;display:block'
);
unsafeWindow.document.querySelector('#main').appendChild(out);
bar.setAttribute('class', 'dlg-bar');
out.appendChild(bar);
title.setAttribute('class', 'dlg-title');
title.innerText = 'Houtarchat';
bar.appendChild(title);
rtbtns.setAttribute('class', 'dlg-rtbtns-out');
bar.appendChild(rtbtns);
closeE.setAttribute('class', 'dlg-close-e');
closeE.setAttribute(
'style',
'text-align:center;width:34px;height:39px;display:inline-block;cursor:pointer;vertical-align:top;cursor:pointer;font-size:21px;font-weight:700'
);
closeE.innerText = '×';
rtbtns.appendChild(closeE);
body.setAttribute('class', 'dlg-body');
body.setAttribute('src', `${unsafeWindow.location.protocol}//${unsafeWindow.location.host}/Student/Dajx${location.search.replace('state', '')}${location.hash}`);
body.setAttribute(
'style',
'height:250px;width:450px;left:0;overflow:scroll;'
);
body.setAttribute('scrolling', 'yes');
out.appendChild(body);
closeE.onclick = () => out.style.display = 'none';
body.onload = () => {
const content = unsafeWindow.document.querySelector(
'#main > div:nth-child(10) > iframe'
).contentDocument;
content.createElement('style').innerText = '*{max-width:520px!important;}';
content.querySelector('head').appendChild(content.createElement('style'));
content.querySelector(`body`).setAttribute('style', 'width: 1040px;');
const width = 'width:520px';
content
.querySelector(`#main > div.el-main.el-w1200`)
.setAttribute('style', width);
content
.querySelector(
'#main > div.el-main.el-w1200 > div > div.el-stu-out.el-stu-content'
)
.setAttribute('style', width);
content
.querySelector(
'#main > div.el-main.el-w1200 > div > div.el-stu-out.el-stu-content > div'
)
.setAttribute('style', width);
content
.querySelector(
'#main > div.el-main.el-w1200 > div > div.el-stu-out.el-stu-content > div.el-main-right.el-stu-manual-r > div > div'
)
.setAttribute('style', width);
content.querySelector('#header').remove();
content.querySelector('#footer').remove();
content
.querySelector('#main > div.el-main.el-w1200 > div > div.totop')
.remove();
content
.querySelector(
'#main > div.el-main.el-w1200 > div > div.el-stu-out.el-stu-content > div.el-main-left.el-main-left-thin'
)
.remove();
};
};
openAnswerPageByFrameButton.type = 'button';
openAnswerPageByFrameButton.value = '打开frame答案';
const openAnswerPageByNewPageButton = document.createElement('input');
openAnswerPageByNewPageButton.onclick = () => window.open(`${unsafeWindow.location.protocol}//${unsafeWindow.location.host}/Student/Dajx${location.search.replace('state', '')}${location.hash}`);
openAnswerPageByNewPageButton.type = 'button';
openAnswerPageByNewPageButton.value = '新页面打开答案';
$('.paperDesc').append(htTime, modificationTimeButton, '<br>');
}
})();