WELearn英语网课答案显示

显示填空题和问答题答案

当前为 2020-03-24 提交的版本,查看 最新版本

// ==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);



})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址