|
1 | 1 | // ==UserScript== |
2 | 2 | // @name XMOJ |
3 | | -// @version 1.7.0 |
| 3 | +// @version 1.8.0 |
4 | 4 | // @description XMOJ增强脚本 |
5 | 5 | // @author @XMOJ-Script-dev, @langningchen and the community |
6 | 6 | // @namespace https://github/langningchen |
@@ -559,6 +559,9 @@ window.addEventListener('DOMContentLoaded', async () => { |
559 | 559 |
|
560 | 560 | let SearchParams = new URLSearchParams(location.search); |
561 | 561 | let ServerURL = (UtilityEnabled("DebugMode") ? "https://ghpages.xmoj-bbs.me/" : "https://www.xmoj-bbs.me") |
| 562 | + if (document.querySelector("#profile") === null) { |
| 563 | + location.href = "https://www.xmoj.tech/loginpage.php"; |
| 564 | + } |
562 | 565 | let CurrentUsername = document.querySelector("#profile").innerText; |
563 | 566 | CurrentUsername = CurrentUsername.replaceAll(/[^a-zA-Z0-9]/g, ""); |
564 | 567 | let IsAdmin = AdminUserList.indexOf(CurrentUsername) !== -1; |
@@ -1075,7 +1078,7 @@ window.addEventListener('DOMContentLoaded', async () => { |
1075 | 1078 | // Remove the preloader style now that the page is loading and Bootstrap 5 will take over. |
1076 | 1079 | const preloadStyleElement = document.getElementById('tampermonkey-dark-preload'); |
1077 | 1080 | if (preloadStyleElement) { |
1078 | | - preloadStyleElement.remove(); |
| 1081 | + preloadStyleElement.remove(); |
1079 | 1082 | console.log("Removed minimal dark preload styles."); |
1080 | 1083 | } |
1081 | 1084 | fetch(ServerURL + "/Update.json", {cache: "no-cache"}) |
@@ -2115,13 +2118,6 @@ window.addEventListener('DOMContentLoaded', async () => { |
2115 | 2118 | document.querySelector("body > div > div.mt-3 > center > br:nth-child(2)").remove(); |
2116 | 2119 | document.querySelector("body > div > div.mt-3 > center > br:nth-child(2)").remove(); |
2117 | 2120 | document.querySelector("body > div > div.mt-3 > center > div > .red").innerHTML = String(document.querySelector("body > div > div.mt-3 > center > div > .red").innerHTML).replaceAll("<br>", "<br><br>"); |
2118 | | - let StaticButton = document.createElement("button"); |
2119 | | - document.querySelectorAll("body > div > div.mt-3 > center > div > .red")[1].appendChild(StaticButton); |
2120 | | - StaticButton.className = "btn btn-outline-secondary"; |
2121 | | - StaticButton.innerText = "统计"; |
2122 | | - StaticButton.addEventListener("click", () => { |
2123 | | - location.href = "https://www.xmoj.tech/conteststatistics.php?cid=" + SearchParams.get("cid"); |
2124 | | - }); |
2125 | 2121 |
|
2126 | 2122 | document.querySelector("#problemset > tbody").innerHTML = String(document.querySelector("#problemset > tbody").innerHTML).replaceAll(/\t ([0-9]*) 问题 ([^<]*)/g, "$2. $1"); |
2127 | 2123 |
|
@@ -2240,7 +2236,7 @@ window.addEventListener('DOMContentLoaded', async () => { |
2240 | 2236 | if (Submitted) location.reload(); else AutoCheatButton.innerHTML = "自动提交当年代码"; |
2241 | 2237 | }); |
2242 | 2238 | document.addEventListener("keydown", (Event) => { |
2243 | | - if (Event.code === 'Enter' && Event.ctrlKey) { |
| 2239 | + if (Event.code === 'Enter' && (Event.metaKey || Event.ctrlKey)) { |
2244 | 2240 | AutoCheatButton.click(); |
2245 | 2241 | } |
2246 | 2242 | }); |
@@ -3148,39 +3144,6 @@ window.addEventListener('DOMContentLoaded', async () => { |
3148 | 3144 | }); |
3149 | 3145 | }); |
3150 | 3146 | } |
3151 | | - } else if (location.pathname == "/conteststatistics.php") { |
3152 | | - if (new URL(location.href).searchParams.get("cid") != null) { |
3153 | | - document.title = "比赛 " + new URL(location.href).searchParams.get("cid") + " 统计"; |
3154 | | - } |
3155 | | - document.querySelector("body > div > div.mt-3 > center > h3").innerText = "比赛统计"; |
3156 | | - if (UtilityEnabled("ResetType")) { |
3157 | | - let Temp = document.getElementById("submission").childNodes; |
3158 | | - for (let i = 0; i < Temp.length; i++) { |
3159 | | - Temp[i].remove(); |
3160 | | - } |
3161 | | - eval(document.querySelector("body > div.container > div > center > table:nth-child(4) > script:nth-child(6)").innerHTML); |
3162 | | - document.querySelector("#cs > thead > tr > th:nth-child(1)").innerText = "题目编号"; |
3163 | | - document.querySelector("#cs > thead > tr > th:nth-child(10)").remove(); |
3164 | | - document.querySelector("#cs > thead > tr > th:nth-child(11)").innerText = "总和"; |
3165 | | - document.querySelector("#cs > thead > tr > th:nth-child(12)").remove(); |
3166 | | - document.querySelector("#cs > thead > tr > th:nth-child(12)").remove(); |
3167 | | - document.querySelector("#cs > thead > tr > th:nth-child(12)").remove(); |
3168 | | - document.querySelector("#cs > tbody > tr:last-child > td").innerText = "总和"; |
3169 | | - TidyTable(document.getElementById("cs")); |
3170 | | - Temp = document.querySelector("#cs > tbody").children; |
3171 | | - for (let i = 0; i < Temp.length; i++) { |
3172 | | - let CurrentRowChildren = Temp[i].children; |
3173 | | - CurrentRowChildren[9].remove(); |
3174 | | - CurrentRowChildren[11].remove(); |
3175 | | - CurrentRowChildren[11].remove(); |
3176 | | - CurrentRowChildren[11].remove(); |
3177 | | - for (let j = 0; j < CurrentRowChildren.length; j++) { |
3178 | | - if (CurrentRowChildren[j].innerText == "") { |
3179 | | - CurrentRowChildren[j].innerText = "0"; |
3180 | | - } |
3181 | | - } |
3182 | | - } |
3183 | | - } |
3184 | 3147 | } else if (location.pathname == "/comparesource.php") { |
3185 | 3148 | if (UtilityEnabled("CompareSource")) { |
3186 | 3149 | if (location.search == "") { |
@@ -4251,7 +4214,7 @@ int main() |
4251 | 4214 | TurnstileScript.src = "https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=CaptchaLoadedCallback"; |
4252 | 4215 | document.body.appendChild(TurnstileScript); |
4253 | 4216 | ContentElement.addEventListener("keydown", (Event) => { |
4254 | | - if (Event.ctrlKey && Event.keyCode == 13) { |
| 4217 | + if ((Event.metaKey || Event.ctrlKey) && Event.keyCode == 13) { |
4255 | 4218 | SubmitElement.click(); |
4256 | 4219 | } |
4257 | 4220 | }); |
@@ -4428,7 +4391,7 @@ int main() |
4428 | 4391 | TurnstileScript.src = "https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=CaptchaLoadedCallback"; |
4429 | 4392 | document.body.appendChild(TurnstileScript); |
4430 | 4393 | ContentElement.addEventListener("keydown", (Event) => { |
4431 | | - if (Event.ctrlKey && Event.keyCode == 13) { |
| 4394 | + if ((Event.metaKey || Event.ctrlKey) && Event.keyCode == 13) { |
4432 | 4395 | SubmitElement.click(); |
4433 | 4396 | } |
4434 | 4397 | }); |
@@ -4682,7 +4645,7 @@ int main() |
4682 | 4645 | ContentEditor.value = ContentEditor.value.substring(0, ContentEditor.value.indexOf("<br>")); |
4683 | 4646 | } |
4684 | 4647 | ContentEditor.addEventListener("keydown", (Event) => { |
4685 | | - if (Event.ctrlKey && Event.keyCode == 13) { |
| 4648 | + if ((Event.metaKey || Event.ctrlKey) && Event.keyCode == 13) { |
4686 | 4649 | OKButton.click(); |
4687 | 4650 | } |
4688 | 4651 | }); |
|
0 commit comments