Greasy Fork is available in English.
显示填空题和问答题答案
当前为
// ==UserScript==
// @name WELearn英语网课答案显示
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 显示填空题和问答题答案
// @author SSmJaE
// @match https://course.sflep.com/student/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
function getBlankAnswers() {
let answers = window.frames[0].document.querySelectorAll('span.key');
let buffer = window.frames[0].document.querySelectorAll('div.key');
if (answers.length > 0 || buffer.length > 0) {
container.innerHTML = '';
container.appendChild(title);
container.style.visibility = 'visible';
for (let i = 0; i < answers.length; i++) {
let content = document.createElement('div');
content.textContent = answers[i].textContent;
content.setAttribute('style', "margin: 10px; color: orange; font-size: medium; overflow-y: auto; max-height: 375px")
container.appendChild(content);
}
for (let i = 0; i < buffer.length; i++) {
let content = document.createElement('div');
content.textContent = buffer[i].textContent;
content.setAttribute('style', "margin: 10px; color: orange; font-size: medium; overflow-y: auto; max-height: 375px")
container.appendChild(content);
}
answers = '';
} else {
container.style.visibility = 'hidden';
}
}
var title = document.createElement('div');
title.textContent = '参考答案';
title.setAttribute("style", "background: inherit; height: 25px; margin-top: 10px; text-align: center; font-size: x-large");
var container = document.createElement('div');
container.setAttribute('style', "top: 100px; left: 100px; margin: 0 auto; z-index: 1024; border-radius: 4px;" +
" box-shadow: 0 11px 15px -7px rgba(0,0,0,.2), 0 24px 38px 3px rgba(0,0,0,.14), 0 9px 46px 8px rgba(0,0,0,.12);" +
" position: absolute; background: #fff; width: 250px; max-height: 400px; min-height: 200px;overflow:auto;")
document.body.appendChild(container);
function listener() {
console.log('frame is changing');
}
// window.onload = getBlankAnswers;
container.addEventListener('click', getBlankAnswers, false);
setInterval(getBlankAnswers, 3500);
function makeDraggable(elem) {
document.mouseState = 'up'
elem.mouseState = 'up'
elem.lastMousePosY = null
elem.lastMousePosX = null
elem.proposedNewPosY = parseInt(elem.style.top, 10)
elem.proposedNewPosX = parseInt(elem.style.left, 10)
document.onmousedown = _ => {
document.mouseState = 'down'
}
document.onmouseup = _ => {
document.mouseState = 'up'
elem.mouseState = 'up'
}
elem.onmousedown = e => {
elem.lastMousePosY = e.pageY
elem.lastMousePosX = e.pageX
elem.mouseState = 'down'
document.mouseState = 'down'
document.onselectstart = e => {
e.preventDefault()
return false
}
}
elem.onmouseup = e => {
elem.mouseState = 'up'
document.mouseState = 'up'
document.onselectstart = null
}
const getAtInt = (obj, attrib) => parseInt(obj.style[attrib], 10)
document.onmousemove = e => {
if ((document.mouseState === 'down') && (elem.mouseState === 'down')) {
elem.proposedNewPosY = getAtInt(elem.parentElement, 'top') + e.pageY - elem.lastMousePosY
elem.proposedNewPosX = getAtInt(elem.parentElement, 'left') + e.pageX - elem.lastMousePosX
if (elem.proposedNewPosY < 0) {
elem.parentElement.style.top = "0px"
} else if (elem.proposedNewPosY > window.innerHeight - getAtInt(elem.parentElement, 'height')) {
elem.parentElement.style.top = window.innerHeight - getAtInt(elem.parentElement, 'height') + 'px'
} else {
elem.parentElement.style.top = elem.proposedNewPosY + 'px'
}
if (elem.proposedNewPosX < 0) {
elem.parentElement.style.left = "0px"
} else if (elem.proposedNewPosX > window.innerWidth - getAtInt(elem.parentElement, 'width')) {
elem.parentElement.style.left = window.innerWidth - getAtInt(elem.parentElement, 'width') + 'px'
} else {
elem.parentElement.style.left = elem.proposedNewPosX + 'px'
}
elem.lastMousePosY = e.pageY
elem.lastMousePosX = e.pageX
}
}
}
makeDraggable(title);
})();