您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatisches ausfüllen der standard-Daten und Erstellung eines Gerüsts für den Hausaufgabenlog auf moodle.bbbaden.ch.
// ==UserScript== // @name Moodle Optimizer // @namespace http://tampermonkey.net/ // @version 0.80 // @description Automatisches ausfüllen der standard-Daten und Erstellung eines Gerüsts für den Hausaufgabenlog auf moodle.bbbaden.ch. // @author Dan6erbond // @match https://moodle.bbbaden.ch/* // @grant none // ==/UserScript== const tätigkeiten = ["Nichts.", "Repetition.", "Übungen."] var editor = null; var tätigkeitenPrompt = null; var arbeitsaufwandPrompt = null; var gelerntesPrompt = null; var offeneFragenPrompt = null; var min = 40; var max = 200; function getElementByXpath(path) { return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } setTimeout(function(){firstFunction();}, 500); function firstFunction(){ var hausaufgabenButton = getElementByXpath("//*[@id=\"region-main\"]/div/div[3]/div/form/div/input[1]") if (hausaufgabenButton != null){ var newButton = hausaufgabenButton.cloneNode(true); newButton.onclick = function(){ document.location.href = "https://moodle.bbbaden.ch/mod/journal/edit.php?id=" + new URL(document.location.href).searchParams.get("id") + "&popup=true"; }; newButton.value = "Eintrag hinzufügen"; hausaufgabenButton.parentNode.parentNode.parentNode.append(newButton); } var loginButton = getElementByXpath("//*[@id=\"submit\"]"); if (loginButton != null) loginButton.click(); var confirmButton = getElementByXpath("//*[@id=\"loginbtn\"]"); if (confirmButton != null) confirmButton.click(); } setTimeout(function(){checkForEditor();}, 1000); function checkForEditor(){ editor = document.getElementById("id_text_editoreditable"); if (editor != null && new URL(document.location.href).searchParams.get("popup") == "true"){ var tätigkeit = tätigkeiten[Math.floor(Math.random() * tätigkeiten.length)]; tätigkeitenPrompt = prompt("Tätigkeiten:", tätigkeit); var minutes = Math.round(Math.floor(Math.random() * max + min) / 10) * 10; var stunden = Math.floor(minutes / 60); var minuten = minutes - stunden * 60; var promptText = stunden != 0 ? stunden + " Stunden " + minuten + " Minuten" : minuten + " Minuten" arbeitsaufwandPrompt = prompt("Arbeitsaufwand:", promptText); gelerntesPrompt = prompt("Gelerntes:", "Nichts."); offeneFragenPrompt = prompt("Offene Fragen:", "Keine."); if (tätigkeitenPrompt == null || arbeitsaufwandPrompt == null || gelerntesPrompt == null || offeneFragenPrompt == null) return; fillOutLog(); } } function fillOutLog(){ var d = new Date(); var dateString = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear(); var header = document.createElement("p"); var headerChild = document.createElement("b"); headerChild.innerHTML = "Hausaufgabenlog vom " + dateString; header.appendChild(headerChild); var text = document.createElement("p"); var list = document.createElement("ul"); var tätigkeiten = document.createElement("li"); var tätigkeitenTitel = document.createElement("b"); tätigkeitenTitel.innerHTML = "Tätigkeiten: "; var tätigkeitenText = document.createTextNode(tätigkeitenPrompt); tätigkeiten.appendChild(tätigkeitenTitel); tätigkeiten.appendChild(tätigkeitenText); var arbeitsaufwand = document.createElement("li"); var arbeitsaufwandTitel = document.createElement("b"); arbeitsaufwandTitel.innerHTML = "Arbeitsaufwand: "; var arbeitsaufwandText = document.createTextNode(arbeitsaufwandPrompt); arbeitsaufwand.appendChild(arbeitsaufwandTitel); arbeitsaufwand.appendChild(arbeitsaufwandText); var gelerntes = document.createElement("li"); var gelerntesTitel = document.createElement("b"); gelerntesTitel.innerHTML = "Gelerntes: "; var gelerntesText = document.createTextNode(gelerntesPrompt); gelerntes.appendChild(gelerntesTitel); gelerntes.appendChild(gelerntesText); var offeneFragen = document.createElement("li"); var offeneFragenTitel = document.createElement("b"); offeneFragenTitel.innerHTML = "Offene Fragen: "; var offeneFragenText = document.createTextNode(offeneFragenPrompt); offeneFragen.appendChild(offeneFragenTitel); offeneFragen.appendChild(offeneFragenText); list.appendChild(tätigkeiten); list.appendChild(arbeitsaufwand); list.appendChild(gelerntes); list.appendChild(offeneFragen); text.appendChild(list); editor.insertBefore(text, editor.firstChild); editor.insertBefore(header, editor.firstChild); }