GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 3703|回复: 57
收起左侧

[功能优化] 【脚本】发帖模板便捷选择

    [复制链接] |关注本帖

法师 · I

法师I· 资深法师炽天使之拥被释放的灵魂雾港捞月

     楼主| reober3 发表于 2026-2-2 21:51:37 | 显示全部楼层 |阅读模式 |取消关注该作者的回复

    最近发转载指路比较多,为了更方便套个人模板就做了这个脚本惹
    安装以后在发新帖页面的左侧空白区域会出来一个模板选择面板
    点击即可覆盖当前内容

    获取模板数据的例子:
    比如我上一篇文学转载的帖子
    帖头帖尾是用旅程金币血液等属性图标组成的条条
    中间是艺术字的“文章标签”“文章文案”等图片
    假如我想之后发文学转载都用这个模板
    那就进入它的编辑页面,然后把其他内容删掉(最后记得不要提交编辑)
    然后点右上角纯文本,在纯文本模式下,全选帖子内容,复制到脚本里对应位置
    之后发帖点一下套模板就能更方便一些了,省了从已发帖复制粘贴的步骤
    新帖使用以后是上面这个样子,再点两下纯文本就能让它变成普通模式下的样子,然后就可以正常编辑了
    @Name @Name  @Match  @Name  @Match
    1. // ==UserScript==
    2. // [url=home.php?mod=space&uid=668096]@Name[/url]         便捷选择发帖模板
    3. // @namespace    [url]http://tampermonkey.net/[/url]
    4. // @version      1.6
    5. // @author       rober & Assistant
    6. // @match        *://www.gamemale.com/forum.php?mod=post&action=newthread*
    7. // @run-at       document-start
    8. // @grant        none
    9. // ==/UserScript==

    10. (function() {
    11.     'use strict';

    12.     // === 【用户自定义模板区域】 ===
    13.     const TEMPLATES = {
    14.         "33模板": `3333
    15. 33
    16. 3`,
    17.         "11模板": `1111111`,
    18.         "22模板": `[b][color=red]★ 2222 ★[/color][/b]2222222`,
    19.         "44模板": `4444444`,
    20.     };

    21.     // === 核心逻辑 ===
    22.     const applyTemplate = (text) => {
    23.         if (!confirm('确定要覆盖当前内容吗?')) return;
    24.         const ta = document.getElementById('e_textarea');
    25.         if (ta) ta.value = text;
    26.         try {
    27.             const ifr = document.getElementById('e_iframe').contentWindow.document;
    28.             ifr.body.innerHTML = text.split('\n').map(l => `<div>${l.trim() ? l : '<br>'}</div>`).join('');
    29.         } catch (e) {}
    30.     };

    31.     const injectStyles = () => {
    32.         const style = document.createElement('style');
    33.         style.textContent = `
    34.             #gm-panel { position: absolute; left: -140px; top: 61px; width: 130px; background: #F9F9F9; border: 1px solid #CCC; border-radius: 4px; z-index: 100; font-family: sans-serif; overflow: hidden; }
    35.             #gm-header { font-size: 12px; font-weight: bold; color: #444; background: #EEE; padding: 6px; border-bottom: 1px solid #CCC; text-align: center; }
    36.             .gm-btn-box { padding: 8px; display: flex; flex-direction: column; gap: 6px; }
    37.             .gm-btn { padding: 6px 4px; background: #FFF; border: 1px solid #DCDCDC; color: #555; border-radius: 2px; cursor: pointer; font-size: 12px; transition: 0.1s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    38.             .gm-btn:hover { border-color: #999; background: #F0F0F0; color: #000; }
    39.         `;
    40.         document.head.appendChild(style);
    41.     };

    42.     const observer = new MutationObserver((_, obs) => {
    43.         const postBox = document.getElementById('postbox');
    44.         if (postBox) {
    45.             obs.disconnect();
    46.             postBox.style.position = 'relative';
    47.             injectStyles();

    48.             const panel = document.createElement('div');
    49.             panel.id = 'gm-panel';
    50.             panel.innerHTML = `<div id="gm-header">模板选择</div><div class="gm-btn-box"></div>`;

    51.             const box = panel.querySelector('.gm-btn-box');
    52.             Object.keys(TEMPLATES).forEach(name => {
    53.                 const btn = document.createElement('button');
    54.                 btn.className = 'gm-btn';
    55.                 btn.textContent = name;
    56.                 btn.type = 'button';
    57.                 btn.onclick = () => applyTemplate(TEMPLATES[name]);
    58.                 box.appendChild(btn);
    59.             });
    60.             postBox.appendChild(panel);
    61.         }
    62.     });

    63.     observer.observe(document.documentElement, { childList: true, subtree: true });
    64. })();
    复制代码
    喜欢的话求求






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    评分

    参与人数 16血液 +40 追随 +16 堕落 +10 收起 理由
    killaster1 + 1
    LeoCastro + 2 + 1 恭贺新春!
    wdhgzdhcxb + 5 + 1 + 1
    书の妖怪 + 3 + 1 努力惹~
    leochan + 3 + 1 + 1
    LYKLLLLL + 1 + 1 感谢分享
    PURO_ + 1 + 1 + 1 nice
    Ghost-in-System + 1
    Adam123456 + 1 喜翻儿厚
    野生阿努厨 + 1

    查看全部评分

    本帖被以下淘专辑推荐:

    回复

    使用道具 举报

    GM活动员

    法师 · I

    自定义男从Homunculus钢铁侠凯登‧阿兰科永远的克叔【夏日限定】夏日的泰凯斯裸体克里斯苏格兰圆脸胖鸡[Pro Max]极·龙の意生金蛋的鹅虚空之海的鲸

      回复

      使用道具 举报

      GM活动员

      法师 · I

      炉石与家猫咪合唱团(夏日)盈满心相元石法师I· 学识之章『召唤好运的角笛』雾港捞月鎏彩万幢男巫之歌女巫之路虚空之海的鲸

        回复

        使用道具 举报

        种植小草雾都血医牧羊人森林羊男小菜鸟GM論壇進階勛章Amicus

          回复

          使用道具 举报

          SCP-s-1889-第五页巴哈姆特鎏彩万幢猫咪合唱团(夏日)『伊黎丝的赞美词』金钱马车雾港捞月人鱼之泪荣光的残像男巫之歌

            回复

            使用道具 举报

            超能留声机【新手友好】昆進生金蛋的鹅揄人者冠冕灵魂之椅涅槃龙衔金戒『草莓乳酪』辉光心相元石童年的蛋

              回复

              使用道具 举报

              亚索盈满心相元石阿拉贡·亡魂之约霉运小精灵[红]雾港捞月闪耀的魔仙棒全息投影蛋星河月砂夜魔护符吃饱金币的Doge

                回复

                使用道具 举报

                『随时随地开启!』『随时随地开启!』小小舞台

                  回复

                  使用道具 举报

                  猫咪点唱机猫咪合唱团(夏日)雾港捞月羽环鳐帅气的本・比格弗雷迪玩偶可鲁贝洛斯肉乖乖永远的克叔Amicus

                    每次排版确实很多问题~感觉对于经常发帖的大佬们特别实用啊~感谢楼主分享很不错哇
                    回复

                    使用道具 举报

                    雾港捞月吃饱金币的Doge人鱼之泪Amicus炽焰咆哮虎的训练位面引航器瑰香蜜露紫粹露饮苏格兰圆脸胖鸡[Pro Max]

                      回复

                      使用道具 举报

                      神秘的红茶森林羊男果体76牧羊人【新手友好】昆進火玛瑙寻觅

                        回复

                        使用道具 举报

                        内森·德雷克Amicus人到中年【新春限定】果体 隆失明【夏日限定】夏日的泰凯斯You Can Pet Blaidd業火死鬥使命终成SCP-s-1889-第五页

                          回复

                          使用道具 举报

                          猫咪合唱团(夏日)業火死鬥帅气的本・比格十年一梦【夏日限定】夏日的泰凯斯永远的克叔炙热的格拉迪欧拉斯永浴爱河男巫之歌虚空之海的鲸

                            回复

                            使用道具 举报

                            裸体克里斯黄金树的恩惠盈满心相元石一张车票传说之杖传说级训练家『落樱缤纷』传奇最终幻想XIV猫咪合唱团(夏日)

                              回复

                              使用道具 举报

                              果体76果体蝙蝠侠【夏日限定】夏日的泰凯斯炽焰咆哮虎亚瑟‧摩根業火死鬥人间之神

                                来参考看看~ 有时候想分享点东西,却老是要东拼西贴有够累的

                                就算复制自己的格式,不同东西也是有不同的排版,所以这个说不定大派用场,感谢楼主~
                                回复

                                使用道具 举报

                                我的天使GM吸血伯爵吃饱金币的Doge苏格兰圆脸胖鸡小小舞台守卫: 坚守眼位永浴爱河肉垫手套御医神兔『搓粉团珠』

                                  回复

                                  使用道具 举报

                                  猫咪合唱团(夏日)虚空之海的鲸【夏日限定】夏日的泰凯斯内森·德雷克和你一起飞行的皮卡丘亚瑟‧摩根明日之子卡洛斯·奥利维拉永远的克叔索林·临终一役

                                    回复

                                    使用道具 举报

                                    阿努比斯信徒

                                      好不错的东西,像动漫分享之类固定版式的发帖用D指导改改就能用了,超级省时省力
                                      回复

                                      使用道具 举报

                                      裸体克里斯适当显灵人到中年闪耀的魔仙棒塞拉斯王者之盾神龙之下黑铁战锤淬炼

                                        回复

                                        使用道具 举报

                                        史莱姆牧场结晶火鹰幼崽猩红魔鹫霉运小精灵[红]紫粹露饮瑰香蜜露

                                          回复

                                          使用道具 举报

                                          您需要登录后才可以回帖 登录 | 立即注册

                                          本版积分规则

                                          关闭

                                          站长公告上一条 /1 下一条

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2026-8-6 22:47 , Processed in 0.152319 second(s), 151 queries , Redis On.

                                          Copyright © 2013-2026 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表