您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Cambia l'ordinamento delle domande dei test di fine lezione.
// ==UserScript== // @name Random answer // @namespace http://tampermonkey.net/ // @version 0.11 // @description Cambia l'ordinamento delle domande dei test di fine lezione. // @author You // @match https://lms-courses.pegaso.multiversity.click/main/lp-video_student_view/lesson_student_view.php* // @icon https://www.google.com/s2/favicons?sz=64&domain=multiversity.click // @grant none // @license MIT // @require http://code.jquery.com/jquery-latest.js // ==/UserScript== /* global $ */ (function () { 'use strict'; //RANDOM BOXES START function randomBoxes() { // Funzione per mischiare gli elementi di un array function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } } // Ottieni tutti gli elementi con classe "panel-default" const panels = $('.col-md-8 .panel-default'); // Converti gli elementi jQuery in un array JavaScript const panelsArray = $.makeArray(panels); // Mischia l'array di pannelli shuffleArray(panelsArray); // Rimuovi tutti i pannelli dal documento $('.col-md-8 .panel-default').remove(); // Aggiungi i pannelli in ordine casuale al documento panelsArray.forEach(panel => { $('.col-md-8').append(panel); }); } //RANDOME BOXES END function htmlToNode(htmlString) { // Crea un oggetto Range var range = document.createRange(); // Crea un nodo DocumentFragment utilizzando createContextualFragment var fragment = range.createContextualFragment(htmlString); // Restituisci il primo nodo del DocumentFragment return fragment.firstChild; } if(document.querySelector('.button-container')) { // Esempio di utilizzo buttonContainer = document.querySelector('.button-container'); var htmlString = "<button id='downloadDispenze' class='scriptBtn'>Random order</button>"; var nodoDOM = htmlToNode(htmlString); buttonContainer.appendChild(nodoDOM) // Aggiunta del pulsante al div } else { // Creazione di un nuovo elemento div var buttonContainer = document.createElement("div"); // Assegnazione della classe "colore" al nuovo div buttonContainer.classList.add("button-container"); // Aggiunta del div al body (puoi aggiungerlo dove preferisci) document.body.appendChild(buttonContainer); buttonContainer.innerHTML = "<button id='downloadDispenze' class='scriptBtn'>Random order</button>"; } $('#downloadDispenze').on('click', function () { // Chiamare la funzione per mescolare le righe delle tabelle shuffleTableRows(); randomBoxes(); }); // Funzione per generare un numero casuale compreso tra min e max function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } // Funzione per mescolare un array function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = getRandomInt(0, i); [array[i], array[j]] = [array[j], array[i]]; } } // Funzione per mescolare le righe delle tabelle function shuffleTableRows() { // Seleziona tutte le tabelle con la classe "table-hover" const tables = document.querySelectorAll('.table-hover'); // Per ogni tabella, mescola le righe nella sezione del corpo tables.forEach((table) => { const tbody = table.querySelector('tbody'); const rows = Array.from(tbody.children); // Mescola le righe shuffleArray(rows); // Rimuovi le righe esistenti dalla tabella rows.forEach((row) => { tbody.removeChild(row); }); // Aggiungi le righe mescolate alla tabella rows.forEach((row) => { tbody.appendChild(row); }); }); } })(); const injectCSS = css => { let el = document.createElement('style'); el.type = 'text/css'; el.innerText = css; document.head.appendChild(el); return el; }; injectCSS(` .scriptBtn { margin: 10px 10px 20px 0; background-color: #a42c52; font-style: italic; color: white; border: none; border-radius: 50%; padding: 10px; box-shadow: 5px 5px 8px -5px rgba(0,0,0,0.69); top: 100px; left: 540px; width: 100px; height: 100px; } .button-container { z-index: 1; right: 0; position: fixed; top: 35% padding: 10px; display: flex; flex-direction: column; align-items: center; } `);