您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto selects the language based on file extension, when you upload a file
当前为
// ==UserScript== // @name Auto Select CF Language // @namespace http://tampermonkey.net/ // @version 2024-08-13 // @description Auto selects the language based on file extension, when you upload a file // @author Mushfiqur Rahman Talha // @match *codeforces.com/contest/*/problem/* // @match *codeforces.com/problemset/problem/* // @icon https://www.google.com/s2/favicons?sz=64&domain=codeforces.com // @grant none // @license GPLv3 // ==/UserScript== (function() { 'use strict'; /* Language Support: - GNU GCC C11 5.1.0 - GNU G++20 13.2 (64 bit, winlibs) - C# 10, .NET SDK 6.0 - D DMD32 v2.105.0 - Go 1.22.2 - Java 21 64bit - Kotlin 1.9.21 - OCaml 4.02.1 - PHP 8.1.7 - PyPy 3.10 (7.3.15, 64bit) - Ruby 3.2.2 - Rust 1.75.0 (2021) - Node.js 15.8.0 (64bit) */ const fileInput = document.querySelector("input[name=sourceFile]"); fileInput.addEventListener("change", event => { const file = event.target.files[0]; if (!file) return; const ext = file.name.split('.').pop(); let optionValue = null; switch (ext) { case "cpp": optionValue = "89" break; case "c": optionValue = "43" break; case "java": optionValue = "87" break; case "py": optionValue = "70" break; case "cs": optionValue = "79" break; case "js": optionValue = "55" break; case "d": optionValue = "28" break; case "go": optionValue = "32" break; case "kt": optionValue = "88" break; case "ml": optionValue = "19" break; case "php": optionValue = "6" break; case "rb": optionValue = "67" break; case "rs": optionValue = "75" break; default: break; } if (!optionValue) return; document.querySelectorAll("option").forEach(element => element.removeAttribute("selected")); document.querySelector(`option[value='${optionValue}']`).setAttribute("selected", "selected"); }); })();