您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Discuz论坛插件 BUX广告点击赚积分 自动
// ==UserScript== // @name Discuz BUX广告点击赚积分 // @namespace http://tampermonkey.net/ // @version 0.7 // @description Discuz论坛插件 BUX广告点击赚积分 自动 // @author lvweicheng // @match *://*/plugin.php?id=jnbux // @icon https://ae01.alicdn.com/kf/U0b4f37bdfa1c41a68fdf6a63a973a4427.jpg // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.1.0/jquery.min.js // @require https://cdn.bootcdn.net/ajax/libs/layer/3.3.0/layer.min.js // @grant GM.openInTab // ==/UserScript== (function() { 'use strict'; $(document.body).append(`<link href="https://cdn.bootcdn.net/ajax/libs/layer/3.3.0/theme/default/layer.min.css" rel="stylesheet">`); run(); function getUserId() { let url = $(".vwmy a").attr('href'); let pattern = /(\d){1,}/; return url.match(pattern) | url.match(pattern)[0]; } function getTasks() { let html = $("html").html(); let pattern = /window.open(.){1,}/g; let tasks = []; if (html.match(pattern)){ tasks = html.match(pattern); } let returns = []; let features = "height=500, width=500, top=100, left=100, location=no"; for (const tasksKey in tasks) { pattern = /plugin.php(.){1,}(\d)/; let url = tasks[tasksKey].match(pattern)[0]; let jsStr = "window.open('"+ url +"', '', '"+ features +"')" returns.push(jsStr); // returns.push(tasks[tasksKey].replace('newwindow', '').replace('""', "'" + features + "'")); } return returns; } function msg(msg, icon = 1, taskId = 999) { layer.msg(msg, { offset: 'rt' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset ,id: taskId //防止重复弹出 ,shade: 0 //不显示遮罩 ,icon: icon }); } function checkJoin() { let flag = document.evaluate("//ul[@class='xl xl2 cl']/li[1]/a/font/b/text()").iterateNext(); return !(flag == null); } function run(res) { console.log(parent) let id = getUserId(); if (!id){ msg('还没有登录', 5); return; } if (!checkJoin()){ msg('还没有加入', 5); return; } let tasks = getTasks(); if (tasks.length == 0){ msg('今日任务已完成'); return; } let promise = Promise.resolve(); let runCount = 0; tasks.forEach((task, index) => { let pattern = /clickid=\d{1,}/; let taskId = task.match(pattern)[0].split('=')[1]; promise = promise.then(() => { return new Promise((resolve => { let newWindow = eval(task); if (newWindow){ setTimeout(()=>{ let timer = setInterval(() => { if (!newWindow.document.getElementById('timer')){ msg('任务id:' + taskId + '执行成功', 1, taskId); clearInterval(timer); resolve(newWindow); } }, 1000); },5000); } })); }); promise.then((res) => { res.close(); runCount += 1; if (runCount >= tasks.length){ window.location.reload(); } }); }); } })();