|
本帖最后由 星之子 于 2024-9-25 20:06 编辑
我这个人向来是有点矫情的,一个东西用得稍微有点不舒服,都会想方设法的把它改得舒服。
泥潭有许多大佬开发了许多强力好用的脚本,到我手之后多多少少会有一些画蛇添足的魔改,这里就连图带文的盘点一下我自己的一点儿小心思,也顺带推荐一下这些好用的脚本。
贾斯特维补脑闹钟
原帖地址:https://www.gamemale.com/thread-132451-1-1.html
这里我魔改了:限时勋章的颜色,因为原来的颜色饱和度有点太高,对眼睛不大友好,于是采用了日本色研配色环的light+配色。
涉及到的代码如下:
- function changeBgColor( timeLeft, badgeName ){
- var currentProgress = timeLeft/86400;
- if( currentProgress < 1 ){
- selectAndChange( badgeName, "#ff9b9a", "#ff9b9a");
- }else if ( currentProgress < 2 ){
- selectAndChange( badgeName, "#ffce84", "#ffce84");
- }else if( currentProgress < 3 ){
- selectAndChange( badgeName, "#ffee79", "#ffee79");
- }else if( currentProgress < 14 ){
- selectAndChange( badgeName, "#cff588", "#cff588");
- }else{
- selectAndChange( badgeName, "#9a99cd", "#9a99cd");
- }
- return 0;
- }
复制代码
修改后的效果如下:
勋章放大镜
原帖地址:https://www.gamemale.com/thread-129944-1-1.html
https://www.gamemale.com/thread-144254-1-1.html
这里我魔改了:
- 给旅程换了个图标、换了个颜色使之更符合直觉(原来是蓝色导致我总是和知识搞混)。
- 微调了发帖和回帖颜色,眼睛看起来更舒服。
- 将所有的属性权重设置为1让它只计算期望,并去掉了计算“合计收益”的部分代码。
- 添加了键盘快捷键“`”(ESC下面 Tab上面) 用于切换是否显示,而不必点击右下角的开关。
涉及到的代码如下:
因为这里代码里涉及到了泥潭不支持的emoji,所以只能放个.txt在这儿:
(为保证原帖收益,这里只保留了相关函数,去掉了最重要的映射表,请将此.txt与原帖结合使用)
修改后的效果如下:
防过度回帖~显示
原帖地址:https://www.gamemale.com/thread-131737-1-1.html
这里我魔改了:将左下角原本一行的长信息变为两行,这样就不会突出左侧边框。捎带手修改了下字体。
涉及到的代码如下:
- function updateStatsDisplay() {
- let latestReplyText = '';
- if (oldestReplyTimestamp) {
- const timeDifference = Math.round((new Date().getTime() - oldestReplyTimestamp.getTime()) / (1000 * 60));
- const hours = Math.floor(timeDifference / 60);
- const minutes = timeDifference % 60;
- latestReplyText = `最远距今:${hours}时${minutes}分`;
- }
- statsContainer.innerHTML = `<span style="font-family: Noto Sans SC, Microsoft Yahei, Arial, sans-serif;">24小时回复:${twentyFourHourRepliesCount}<br>${latestReplyText}`;
- }
复制代码 这里原来使用的是 \n 换行符。但在 JavaScript 中,使用 \n 换行符在 HTML 元素的 textContent 中不起作用,因为 textContent 会将所有内容作为纯文本处理,不会解析换行符。所以改为使用 innerHTML 并用 <br> 标签来代替 \n。
修改后的效果如下:
U狼の查房脚本
原帖地址:https://www.gamemale.com/blog-714849-108554.html
这里我魔改了:
- 删除了菜单里的按钮改用纯快捷键Ctrl,看到花里胡哨的空间看不清字则一键还原。
- 将两段重复代码整合成一个function:updateNav()。
- 去掉了提示使得使用更丝滑,可以看浏览器标签页图标判断是否已经Ctrl过了。
涉及到的代码如下:
- // ==/UserScript==
- (function() {
- 'use strict';
- let spaceuid = document.getElementById('domainurl')?.search.substr(1);
- if (!spaceuid) {
- if (location.hash.startsWith('#pid') && location.search.startsWith('?mod=viewthread')) {
- if (!document.getElementById(location.hash.substring(1))) {
- const url = new URL(window.location.href);
- let page = parseInt(url.searchParams.get('page'));
- if (page == document.querySelector('#pgt strong').textContent) {
- url.searchParams.set('page', page + 1);
- location.href = url;
- }
- }
- }
- return;
- }
- let spacecss = document.getElementById('diy_style').innerHTML;
- if (isBlocked()) {
- document.getElementById('diy_style').innerHTML = '';
- document.querySelector('link').href = 'template/mwt2/extend/img/lslogo.png';
- updateNav()
- }
- function getBlockList() { return JSON.parse(localStorage.getItem('uSpaceBlocked') || '[]'); }
- function setBlockList(list) { localStorage.setItem('uSpaceBlocked', JSON.stringify([...list])); }
- function removecss() { document.getElementById('diy_style').innerHTML = ''; }
- function addcss() { document.getElementById('diy_style').innerHTML = spacecss; }
- function isBlocked() { return getBlockList().includes(spaceuid); }
- function updateNav() {
- document.getElementById('nv').innerHTML = `<ul>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=index">首页</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=home&view=me&from=space">动态</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=doing&view=me&from=space">记录</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=blog&view=me&from=space">日志</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=album&view=me&from=space">相册</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=thread&view=me&from=space">主题</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=wall">留言</a></li>
- <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=profile">资料</a></li>
- </ul>`;
- document.getElementById('nv').style.visibility = 'initial';
- document.getElementById('nv').style.display = 'initial';
- }
- function addToBlockList() {
- let t = getBlockList();
- t.push(spaceuid);
- setBlockList(t);
- removecss();
- document.querySelector('link').href = 'template/mwt2/extend/img/lslogo.png';
- updateNav()
- }
- function deleteFromBlockList() {
- let t = new Set(getBlockList());
- t.delete(spaceuid);
- setBlockList(t);
- addcss();
- document.querySelector('link').href = 'template/mwt2/extend/img/favicon.ico';
- }
- let ctrlMark = false;
- document.addEventListener('keydown', (e) => { ctrlMark = e.key === 'Control' });
- document.addEventListener('keyup', (e) => {
- if (e.key === 'Control' && ctrlMark) {
- if (isBlocked()) deleteFromBlockList(); else addToBlockList();
- }
- });
- })();
复制代码
修改后的效果如下:
GM论坛勋章百宝箱
原帖地址:https://www.gamemale.com/thread-144608-1-1.html
这里我魔改了:主要是按钮的样式,包括悬停和按下效果,让页面更花里胡哨一点儿。除了好看以外的实际作用约等于零。
涉及到的代码如下:
- // 创建一个新的div元素用于管理徽章
- const badgeManagerDiv = document.createElement('div');
- badgeManagerDiv.className = 'badge-manager';
- badgeManagerDiv.innerHTML = '<div class="badge-manager-button"><div>';
- const badgeOrderDiv = document.createElement('div');
- badgeOrderDiv.className = 'badge-order';
- // badgeOrderDiv.innerHTML = '正在计算您拥有的徽章类型和价值,请稍等。。。'
- // 获取目标div并在其前面插入新创建的div
- const targetDiv = document.querySelector('.my_fenlei');
- targetDiv.parentNode.insertBefore(badgeManagerDiv, targetDiv);
- badgeManagerDiv.appendChild(badgeOrderDiv)
- // targetDiv.parentNode.insertBefore(badgeOrderDiv, badgeManagerDiv);
- // 在这里添加您的自定义样式
- const customStyles = `
- .badge-manager {
- background-color: transparent;
- padding: 0px;
- margin-top: 20px;
- margin-bottom: 24px;
- border: none;
- color: #333;
- text-align: center;
- }
- .custom-button {
- background-color: transparent;
- border: 0.125em solid #1A1A1A;
- border-radius: 0.6em;
- color: #3B3B3B;
- font-size: 16px;
- font-weight: 600;
- margin: 0px 20px;
- padding: 0.4em 1.2em;
- text-align: center;
- text-decoration: none;
- transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
- }
- .custom-button:hover {
- color: #fff;
- background-color: #1A1A1A;
- box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
- transform: translateY(-2px);
- }
- .custom-button:active {
- box-shadow: none;
- transform: translateY(0);
- }
- `;
复制代码
修改后的效果如下:
来自群组: 星象占卜 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|