user_login 发表于 2024-9-16 21:04:25

【界外来客】购买附件的脚本

本帖最后由 user_login 于 2024-9-16 21:05 编辑


https://img.gamemale.com/album/202409/16/114426zcvcdha50vcd9c5p.gif用不知名大可爱提的需求来蹭一蹭活动,
--为了大X王活动的奖品

需求:购买后自动下载附件。因为购买以后会强制页面刷新,然后如果是那种帖子里插入了很多图片的(不是大小图那种),图片又会一张张重新加载,然后还要移半天才移到附件那个地方再下载
功能:
购买后直接下载附件。

脚本:@Name // ==UserScript==
// @name         购买附件
// @namespace    https://www.gamemale.com/space-uid-714849.html
// @version      2024-09-16
// @description购买附件后直接下载,或帖内显示txt附件内容
// @author       u
// @match      https://www.gamemale.com/forum.php?*
// @match      https://www.gamemale.com/t*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gamemale.com
// @grant      none
// ==/UserScript==

(function() {
    'use strict';
    /* eslint-disable */

    /*fastMode设置项:
      设置为1 免下载直接显示附件内容。
      设置为0[默认] 自动下载附件。 */
    let fastMode = 0;

    var thePast = showMenu;
    showMenu=(...args)=>{
      thePast(...args);
      let $form = document.getElementById('attachpayform');
      if($form){
            $form.onsubmit=()=>{
                Mjq.post(Mjq($form).attr('action')+'?infloat=1&inajax=1',Mjq($form).serialize()+'&paysubmit=true',(res)=>{
                  let url = Mjq(res).text().match(/'(forum[^']*)'/);
                  let aid = $form.aid.value;
                  let $target;
                  Mjq('.pcb a').each((i,e)=>{
                        if(e.href.includes('=attachpay')&&e.href.includes('aid='+aid)){
                            e.onclick=null;
                            e.target='';
                            e.href=url;
                            if(e.text=='购买'){
                              e.text='下载';
                              $target=e;
                            }
                        }
                  });
                  let mark=1;
                  if(fastMode){
                        showCreditPrompt();
                        Mjq('#attachpayform .list tr').each((i,e)=>{
                            if(i==1&&!e.lastElementChild.innerText.trim().endsWith('.txt'))mark=0;
                            if(mark&&i==2){
                              e.innerHTML='<td id=txtOutput colspan=2>内容加载中...</td>'
                              Mjq.get(url,(txt)=>{
                                    if(txt.includes('<'))
                                        Mjq('#txtOutput').text('附件内容:<br>'+txt);
                                    else
                                        Mjq('#txtOutput').html('附件内容:<br>'+txt.replace(/(https?:\/\/[^\s]+)/g,'<a href="$1" target="_blank">$1</a>'));
                              });
                            };
                            if(mark&&i>2)e.remove();
                        });
                  }
                  if(!fastMode||!mark){
                        $target.click()
                        hideWindow('attachpay');
                        showCreditPrompt();
                  }
                }
                        );
                return false;
            }
      }
    }

})();

额外功能:
购买时帖内显示附件内容。
//需要把脚本中的fastMode后的值从烧0模式改为猛1模式开启
效果是图里这样的:
https://img.gamemale.com/album/202409/16/210259apceccyz5c4cfacc.png

折木 发表于 2024-9-16 21:10:17

虽然没遇到过这种问题 但还是先收藏了{:6_169:}

书の妖怪 发表于 2024-9-16 21:10:21

直接进行一个优老师的赞美,优老师的高速做成能力恐怖如斯。
另外这个插件是真的实用呜呜,孩子太喜欢了

毛茸茸的黑貓 发表于 2024-9-16 21:10:52

這真的很實用
感謝!!

cinder 发表于 2024-9-16 21:12:52

好東西~~用電腦最煩每次都要拉半天螢幕/_\

毛茸茸兽兽 发表于 2024-9-16 21:13:39

wmmm咱就有几次付了金币后还以为已经开始下载了就关闭了页面(´×ω×`)

凯诺斯 发表于 2024-9-16 21:16:30

购买后直接下载附件挺实用的惹,少了一步操作{:6_169:}

娱乐法师火布偶 发表于 2024-9-16 21:17:12

这个插件确实很实用了,不过本人可能不会立刻下载,所以还是需要保存txt的

黑达克 发表于 2024-9-16 21:18:55

好耶,心急想立刻看到瑟瑟的时候还要重新加载图片确实挺烦躁的{:6_169:}
(希望大家编辑的时候多用大小图或者折叠隐藏功能{:6_200:}
(这就去看一下猛1买了啥子附件{:4_114:}

诺鸦cc 发表于 2024-9-16 21:20:05

好实用!赞美老师!没想到还能这样,会写代码真的好厉害。

天水盛影 发表于 2024-9-16 21:21:23

方便多了啊{:4_114:}之前一直要重新点一次就很麻烦

糖醋鲤鱼 发表于 2024-9-16 21:21:50

这个真的好实用啊,碰到图片多的帖子真的好头大

咸鱼鱼 发表于 2024-9-16 21:26:19

确实很好用呢,到时候装一个

我们一起学狗叫 发表于 2024-9-16 21:31:54

很好用的脚本呢,有的帖子图片真的很多,然后网络不好的时候图片加载还慢,有的时候刚滑到底部,突然又变了。

1287549 发表于 2024-9-16 21:33:00

感觉好像有一些用,脚本大佬就是强

PURO_ 发表于 2024-9-16 21:33:05

省去了鼠标多点好几下的时间呢{:4_114:}

Burry 发表于 2024-9-16 21:34:11

看起来蛮有用的脚本,可以试试看呢。

霜霜w 发表于 2024-9-16 21:44:55

感谢脚本大佬的分享www 确实能省去很多加载时间呢

提尔特 发表于 2024-9-16 21:58:30

{:4_86:}有了这个脚本 买附件简单方便多了

164895785 发表于 2024-9-16 22:00:25

感谢大佬的分享   ;P    我自己也遇到了这个问题   然后我的解决办法是……    把附件拖到新窗口再下载XD
页: [1] 2 3 4 5
查看完整版本: 【界外来客】购买附件的脚本