|
本帖最后由 user_login 于 2024-9-16 21:05 编辑
用不知名大可爱提的需求来蹭一蹭活动,
--为了大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[^']*)'/)[1];
- 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模式开启
效果是图里这样的:
|
评分
-
查看全部评分
|