您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Отображение дисциплин сортированных по семестрам СФ УУНиТ
// ==UserScript== // @name Дисциплины по семестру СФ УУНиТ // @namespace https://github.com/WolfySoCute // @version 0.1.2 // @description Отображение дисциплин сортированных по семестрам СФ УУНиТ // @author Wolfy // @match *://account.struust.ru/Journals/DisciplinesStudent // @match *://account.strbsu.ru/Journals/DisciplinesStudent // @match *://account.str.uust.ru/Journals/DisciplinesStudent // @icon https://account.str.uust.ru/favicon.ico // @grant none // @license GNU GPLv3 // ==/UserScript== const reverseObj = (obj) => { const reversedArray = Object.keys(obj) .reverse() .map((key) => ({ key, value: obj[key] })); return reversedArray; }; (function() { 'use strict'; const semesters = {}; let header; const tableNode = document.getElementsByClassName("table")[0]; for (const tr of tableNode.getElementsByTagName('tr')) { const text = tr.children[2].textContent; if (isNaN(text)) { header = tr; continue; } const number = text if (!semesters[number]) { semesters[number] = [tr] } else { semesters[number].push(tr); } } const reversedResult = reverseObj(semesters); const div = document.createElement('div'); for (const semester of reversedResult) { const tableDiv = document.createElement('div'); tableDiv.style = 'margin-top: 20px'; const title = document.createElement('h3'); title.innerText = `${semester.key} семестр`; const thead = document.createElement('thead'); thead.append(header.cloneNode(true)); const tbody = document.createElement('tbody'); tbody.append(...semester.value); const table = document.createElement('table'); table.className = 'table'; table.append(thead, tbody); tableDiv.append(title, table); div.append(tableDiv); } header.remove(); const hr = document.getElementsByClassName('container')[1].getElementsByTagName('hr')[0]; hr.before(div); })();