轻轻敲醒沉睡的心灵
存个档。我当然知道它们都是引用,但是感觉这么写好爽啊。
总之就是还有什么需要的功能可以考虑线下告诉我(?)
// ==UserScript==
// @name BECODER Helper
// @namespace http://tampermonkey.net/
// @version 1.0.4
// @description Make BECODER easier to use :-(
// @author XSC062
// @match https://becoder.com.cn/*
// @match https://www.becoder.com.cn/*
// @icon https://www.becoder.com.cn/logo/login_logo.png
// @grant none
// ==/UserScript==
(function() {
'use strict';
var nowURL = window.location.href;
var baseURL = window.location.protocol + '//' + nowURL.split('/')[2] + '/';
// 优化用户未登录页
if (document.getElementsByClassName('ui negative icon message').length > 0) {
// <a href="/login?url=%2Fdiscussion%2Fglobal" style="margin-right: 5px; ">登录</a>
}
if (nowURL.search('contest') != -1) {
if (document.URL.search('submission') == -1) {
// 增加个人提交按钮,查看自己在比赛中所有提交记录
var lableList = document.getElementsByClassName('ui buttons')[0]; // 这里偷懒了,但经查验没什么问题
lableList.appendChild(document.createElement('A')).innerHTML = "个人提交";
lableList.lastElementChild.className = "ui small blue button"; // 问就是我喜欢蓝色
lableList.lastElementChild.href = document.URL + "/submissions"; // 又偷懒了,因为不会
// 比赛界面提交链接去除 contest,对权限的适配以后再优化
var linkElements = document.getElementsByTagName('TR');
for (var i = 1; i < linkElements.length; ++i) {
if (linkElements[i].firstElementChild.firstElementChild == null) continue;
linkElements[i].firstElementChild.firstElementChild.href = linkElements[i].firstElementChild.firstElementChild.href.replaceAll('/contest', '');
}
}
// 比赛提交记录页面点击跳转,超链接颜色不管了,反正蓝的也方便识别
else if (document.URL.search('submission') > document.URL.search('contest')) {
var TabelElements = document.getElementsByTagName('TR'); // 大型连续剧之 Tabel
for (var k = 1; k < TabelElements.length; ++k) {
var submissionIndex = TabelElements[k].getElementsByTagName('B')[0].innerHTML;
var nowHref = baseURL + 'submission/' + submissionIndex.substr(1, submissionIndex.length - 1);
var elementA = TabelElements[k].getElementsByTagName('TD')[0], elementB = TabelElements[k].getElementsByTagName('TD')[2];
var sonA = TabelElements[k].getElementsByTagName('B')[0], sonB = TabelElements[k].getElementsByTagName('B')[2];
elementA.appendChild(document.createElement('A')).append(sonA);
elementB.appendChild(document.createElement('A')).append(sonB);
elementA.firstElementChild.href = elementB.firstElementChild.href = nowHref;
}
}
}
})();
- 20240216 v1.0.1:增加了个人提交按钮。感谢这个页面还在。
- 20240225 v1.0.2:为了 @liuzimingc 专门适配了一下 becoder.com.cn 域名 😄
- 20240406 v1.0.3:修了比赛全局提交
<a>
标签冲突的 bug - 202407xx v1.0.4:1024 你怎么似了我的 1024 😢
—— · EOF · ——
真的什么也不剩啦 😖