星之子 发表于 2024-9-25 19:35:18

【油猴脚本】关于我自己的一些魔改

本帖最后由 星之子 于 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);
      }
    `;

修改后的效果如下:



星象占卜

cinder 发表于 2024-9-25 19:43:28

看起來挺不錯的..來去試看看./w\

归北溟 发表于 2024-9-25 19:44:42

感谢楼主的分享,感觉挺实用的

凯诺斯 发表于 2024-9-25 19:46:22

大佬改过的这个勋章放大镜感觉非常的实用{:6_169:}

1287549 发表于 2024-9-25 19:51:45

本帖最后由 1287549 于 2024-9-25 19:54 编辑

感觉第二个魔改的功能我最喜欢,太强了大佬

娱乐法师火布偶 发表于 2024-9-25 19:53:34

调整了颜色确实更有助于保护视力了

折木 发表于 2024-9-25 19:54:54

楼主改完的配色看着真的很舒服惹{:6_169:}

我们一起学狗叫 发表于 2024-9-25 19:58:03

那个修改颜色看起来很方便,可以更直接的看到哪个勋章快到期了,但是想问一下限时活动勋章管用么?

scfy 发表于 2024-9-25 19:58:08

改emoji很有用,因为我的电脑就不支持那个金币的emoji

singto 发表于 2024-9-25 20:04:38

勋章底色的魔改非常棒呃,感觉更多彩了

亚洛斯 发表于 2024-9-25 20:22:08

惹,魔改后看着非常实用和美观的说~这下舒畅使用惹~感谢星星~~https://img.gamemale.com/album/202409/14/160119ce7bkfwqt7zzwub7.gif

棕狮 发表于 2024-9-25 20:31:44

改完之后的色调是比较护眼捏,感谢楼楼魔改{:6_200:}

肥鱼 发表于 2024-9-25 20:36:29

这个脚本可以惹 改变颜色保护眼睛 还能更直观看属性

不是卖萌的基佬 发表于 2024-9-25 20:37:48

都是好用的调整呢 看起来更美观了

提尔特 发表于 2024-9-25 20:38:24

{:4_86:}这就把脚本全部重置使用这个换色

黑达克 发表于 2024-9-25 20:40:48

有自己的使用习惯是好事呢,不过发布魔改前最好是跟原作者询问一下{:6_200:}

咸鱼鱼 发表于 2024-9-25 20:49:19

你的勋章百宝箱魔改已经out,最新的1.61版本我又加了一个一键续所有咒术勋章的按钮,现在有五个按钮了
发出反派的笑声,哈哈哈哈哈哈哈哈哈哈哈哈

thh866 发表于 2024-9-25 20:54:44

讲究,确实看着好不少

枫_Age 发表于 2024-9-25 20:56:39

挺棒的魔改啊 感觉确实美观很多

zzy159 发表于 2024-9-25 21:03:39

这样放大镜看得就更舒服惹,感谢大佬:$
页: [1] 2 3 4
查看完整版本: 【油猴脚本】关于我自己的一些魔改