吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9386|回复: 85
收起左侧

[其他原创] 52pj专发,原创油猴脚本,中小学智慧云平台无人值守学习

  [复制链接]
Pwaerm 发表于 2023-1-28 11:13
本帖最后由 Pwaerm 于 2023-1-28 11:34 编辑

中小学智慧云本轮任务已经接近尾声,所以才敢发这个脚本,这只是一个能稳定运行的中间版,极速完美版需要开启devtools(门槛相对较高,空了再弄个详细教程)仅供有兴趣的伙伴学习参考。

使用场景:
    一群年青貌美请你助力学习,一群80岁的老友请你帮忙进步
虽然你有苹果手机,你有安卓alook浏览器可以秒杀,但是这些方法持久吗?
一个5分钟,10个呢,100个呢,纵然你有30年的手速,面对太多重复单调任务的时候,你也会力不从心的

此脚本应运而生,犹如肾上腺激素,效果超越万艾可

油猴市场上那些简直太崴了,标题高大全,实则一塌糊涂。
此脚本仅在52PJ 发布,(注意需要配合我发过的另外一个帖子中的message.js一起使用)
message.js 同时注入 content_script.js   和 inject_script.js
此脚本注入 inject_   
即可实现登陆后无人值守完成本轮(寒假)任务,同时扩展性强,稍做修改即可兼容课程变化以及服务器端屏蔽加速等...


image.png image.png

image.png


[Asm] 纯文本查看 复制代码
(function () {
    var checkNumber = 0;
    var noVideoNumber = 0;
    //保存用户总进度
    function saveScore(_pro, _isend = false) {
        console.log("当前进度:", _pro);
        document.title = getUserInfo().name + "[" + _pro + "]";
        //总进度
        var _userInfo = getUserInfo();
        var _user = _userInfo.name;
        var _school = _userInfo.school;
        if (_user && _school || localStorage["phone"]) {
            console.log(_school + " " + _user + ":" + _pro);
            $.ajax({
                url: "https://插件监测后台地址",
                type: "POST",
                async: false,
                data: { type: "updateUserPro", school: _school, user: _user, subject: "--", pro: _pro, phone: localStorage["phone"], pwd: localStorage["pwd"], isend: (_isend ? "是" : "否") },
                success: function (_data) {
                    console.log(_data);
                }
            });
        }
        if (_isend) {
            unLogin();
        }
    }
    //从页面中分析用户的学习进度
    function getScores(_b = false) {
        checkNumber++;
        console.log("getScore..." + checkNumber);
        //总进度
        var _total = 0;
        var _curr = 0;
        $("div[class*='index-module_topprocess']").each((_index, _ele) => {
            if (_ele.innerText.indexOf("认定") != -1) {
                var _ss = _ele.innerText.match(/[0-9.]+/g);
                if (_ss.length > 1) {
                    _total = _ss.pop();
                    _curr = _ss.pop();
                }
            }
        })
        if (_total <= 0) {
            setTimeout(getScores, 2000, _b);
            return;
        }
        saveScore(_curr + "/" + _total, _curr >= _total);
        //强制点击打开学习页,用于在localStorage中产生课程id,来获取准确的学习进度
        var _study = [];
        if (_curr < _total) {
            //单元进度
            $("div[class*='index-module_process']").each((_index, _ele) => {
                if (_ele.innerText.indexOf("认定") != -1) {
                    var _ss = _ele.innerText.match(/[0-9.]+/g);
                    if (_ss.length > 1) {
                        var _t = _ss.pop();
                        var _c = _ss.pop();
                        if (_c < _t) {
                            _study.push(_ele);
                        }
                    }
                }
            })
        } else {
            studyEnd = true;
            window.sendMessage({ type: "closeOtherTabs" });
            unLogin();
            return;
        }
        if (_b) {
            if (_study.length) {
                _study[Math.floor(Math.random() * _study.length)].click();
                //_study.pop().click();
            } else {
                console.log("无课程可以学习,3秒后退出...");
                studyEnd = true;
                setTimeout(unLogin, 3000);
            }
        }
        //倒计时刷新
        window.sendMessage({ type: "reloadTime", data: { time: 300 } });
    }
    //单元主页分析是否开始或者继续学习
    function checkPage() {
        if (!$(".CourseIndex-module_course-btn_3Yy4j").length) {
            setTimeout(checkPage, 1000);
            return;
        }
        window.sendMessage({ type: "reloadTime", data: { time: 60 } });
        if ($(".CourseIndex-module_course-btn_3Yy4j").text() == "复习回顾") {
            //已经完成
            window.sendMessage({ type: "closeWindow" });
        }
        //不再提示的勾选
        if ($("input.fish-checkbox-input:checkbox").length) {
            if (!$("input.fish-checkbox-input:checkbox").attr("checked")) {
                $("input.fish-checkbox-input:checkbox").attr("checked", "true");
                $("input.fish-checkbox-input:checkbox").click();
            }
        }
        if ($(".CourseIndex-module_course-btn_3Yy4j").text().indexOf("学习") != -1) {
            if ($(".fish-btn.fish-btn-primary").is(":visible")) {
                //$(".fish-btn.fish-btn-primary").click();
            }
            if (!$(".CourseIndex-module_course-btn_3Yy4j span").length) {
                $(".CourseIndex-module_course-btn_3Yy4j").append("<span>--</span>");
            }
            $(".CourseIndex-module_course-btn_3Yy4j span").click();
        }
        setTimeout(checkPage, 3000);
    }
    function unLogin() {
        window.sendMessage({ type: "getLocalStorage", data: { key: "zxx_auto" } }, function (data) {
            if (data == 'true') {
                $(".fish-dropdown.fish-dropdown-placement-bottomRight").removeClass("fish-dropdown-hidden");
                $("div[class*='index-module_panel-logout']").click();
                localStorage.clear();
                sessionStorage.clear();
                window.sendMessage({ type: "removeCookie", data: { url: "https://www.zxx.edu.cn" } });
                window.sendMessage({ type: "removeCookie", data: { url: "https://.ykt.eduyun.cn" } });
                window.sendMessage({ type: "removeCookie", data: { url: 'https://quickaplus-server-api-cn-zhangjiakou.aliyuncs.com', name: 'cna' } }, function (data) {
                    console.log("返回的信息:", data);
                    window.sendMessage({ type: "reloadHome", data: { homeKey: "uc?sdp-app-id", homeUrl: "https://www.zxx.edu.cn/uc?sdp-app-id=e5649925-441d-4a53-b525-51a2f1c4e0a8&redirect_uri=https%3A%2F%2Fwww.zxx.edu.cn%2Ftraining%2Fbdbe4c1e-f540-4e9f-9fae-855ab44e2d32&send_uckey=true&re_login=false&iframe_type=login_comp#/login" } });
                });

            } else {
                $("div[class*='index-module_btn']").remove();
                $("div[class*='index-module_banner-item'] img").attr("src", "https://插件后台(没有也能工作)/zxx.edu.cn/study.png");
                //$("div[class*='index-module_title']").text("由烂泥沟提供能量支持,P娃儿猫已经为您未完成所有课程学习!");
                window.sendMessage({ type: "reloadTime", data: { time: 9999999999 } });
            }
        });
    }
    var nowTitle = "";
    var endBtns = [];
    function changeChapter(_index) {
        var _btns = $(".resource-item i:visible").filter((_index, _ele) => {
            if (!localStorage[_title] && _ele.title == "已学完" && endBtns.indexOf(_ele) == -1) {
                var _title = $.trim($(_ele).parent().prev().text());
                localStorage[_title] = 1;
                endBtns.push(_ele);
            }
            return endBtns.indexOf(_ele) == -1 && (_ele.title == "进行中" || _ele.title == "未开始");
        })
        if (!_btns.length) {
            $(".fish-collapse-header").eq(_index).click();
            if (_index < $(".fish-collapse-header").length - 1) {
                setTimeout(changeChapter, 1000, ++_index);
            }
        } else {
            var _title = $.trim(_btns.eq(0).parent().prev().text());
            console.log(_btns.length, _title);
            if (_title != nowTitle) {
                nowTitle = _title;
                _btns.eq(0).click();
            }
            return true;
        }
    }
    var vSpeed = 15;    
    function checkPlay() {
        window.sendMessage({ type: "activityTab" });
        //提示要答题才能得分按钮
        if ($(".fish-modal-content .fish-btn.fish-btn-primary").is(":visible")) {
            $(".fish-modal-content .fish-btn.fish-btn-primary").click();
        }
        //重复学习警示按钮
        if ($(".fish-btn.fish-btn-primary .fish-btn.fish-btn-primary").is(":visible")) {
            //$(".fish-btn.fish-btn-primary").click();
        }
        //视频加速
        var _v = $('video')[0];
        if (_v) {
            if ($(".nqti-option__container.ndui-highlight:visible").length) {
                $(".nqti-option__container.ndui-highlight:visible").click();
                /*
                setTimeout(() => {
                    $(".fish-btn.fish-btn-primary span:visible").each((_ele, _index) => {
                        if (_ele.innerText && (_ele.innerText.indexOf("完成") != -1 || _ele.innerText.indexOf("下一题") != -1)) {
                            $(_ele).parent().click();
                        }
                    })
                }, 500)
                */
                setTimeout(() => {
                    $("div[class*='index-module_box_']").find(".fish-btn.fish-btn-primary").click();
                }, 500)
            }
            $("video").prop('muted', true);
            //如果是直播
            if ($(".index-module_like-count_yoxXR").length) {
                _v.play();
                return;
            }
            //多数为视频教程
            //_v.currentTime = _v.currentTime + 2;

            if (_v.playbackRate < 3) {
                _v.playbackRate = vSpeed;
                $("div[class*='index-module_name']").text("由烂泥沟提供能量支持,P娃儿之小猫正在以" + vSpeed + "倍速认真学习...");
            }
            _v.play();
        } else {
            console.log("no video");
            noVideoNumber++;
            if (noVideoNumber > 60) {
                window.sendMessage({ type: "reloadHome", data: { homeKey: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32", homeUrl: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32" } });
            }
            //回放按钮
            if ($(".index-module_status_2DbV-").length > 1) {
                console.log("直播频道列表...");
                $(".index-module_status_2DbV-").eq(0).click();
                return;
            } else if ($(".index-module_box_1H-8J").length > 3) {
                console.log("直播频道列表...");
                $(".index-module_box_1H-8J").eq(0).click();
                return;
            }
            //退出登陆后的临时界面
            if (location.href.indexOf("?courseId=") != -1) {
                if ($(".index-module_user-login-text_A1sxa").text().indexOf("登录") != -1) {
                    window.sendMessage({ type: "reloadHome", data: { homeKey: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32", homeUrl: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32" } });
                    return;
                }
            }
        }
        //章节学完时,主页刷新更新积分情况
        if ($(".course-video-reload").is(":visible")) {
            setTimeout(function () {
                window.sendMessage({ type: "reloadHome", data: { homeKey: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32", homeUrl: "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32" } });
            }, 5000);
            return;
        }
        //视频进度条一直显示
        $(".video-js.fish-ndrVideo").removeClass("vjs-user-inactive");
        $(".video-js.fish-ndrVideo").addClass("vjs-user-active");
        //自动点击未学完的章节
        setTimeout(checkPlay, 2000);
    }
    var studyEnd = false;
    function checkTabNums() {
        if (studyEnd) {
            return;
        }
        window.sendMessage({ type: "getTabsInfo" }, function (_data) {
            var _urlKey = "zxx.edu.cn";
            var _num = 0;
            for (var _key in _data) {
                if (_data[_key].url && _data[_key].url.indexOf(_urlKey) != -1) {
                    _num++;
                }
            }
            console.log(_urlKey, "的标签,共打开了", _num, "个");
            if (_num < 2) {
                window.sendMessage({ type: "reload" });
            }
        });
        setTimeout(checkTabNums, 5000);
    }
    function setInputValue(_input, _value) {
        var _lastValue = _input.value;
        _input.value = _value;
        let _tracker = _input._valueTracker;
        if (_tracker) {
            _tracker.setValue(_lastValue);
        }
        var _e = new Event('input', { bubbles: true });
        _input.dispatchEvent(_e);
        console.log("setValue");
    }
    function getToKenByStorage() {
        var _data = localStorage['ND_UC_AUTH-e5649925-441d-4a53-b525-51a2f1c4e0a8&ncet-xedu&token'];
        if (_data) {
            _data = JSON.parse(_data);
            _data = JSON.parse(_data.value);
            console.log("token:", _data.access_token);
            //
            $.ajax({
                url: "https://x-user-profile.ykt.eduyun.cn/v1/teacher/profile/verify/status?user_type=TEACHER",
                type: "GET",
                headers: {
                    "Authorization": 'MAC id="' + _data.access_token + '",nonce="1672201996771:J15OXMF5",mac="d6FoT6BrFF9hJ/0MOS34u47Bf3S8u68NSXyVgiuBXN4="'
                },
                contentType: "json",
                success: function (_data) {
                    console.log(_data);
                }
            })
        }
    }
    function getChapterList() {
        var _uid = getUserInfo().uid;
        //console.log(_uid)
        var _open = false;
        var _data = localStorage['personalCenter:MyCourses:' + _uid];
        if (_data) {
            getScores();
            _data = JSON.parse(_data);
            _data = _data.items;
            var _pro = 0;
            for (var _i = 0; _i < _data.length; _i++) {
                $.ajax({
                    url: "https://x-study-record-api.ykt.eduyun.cn/v1/study_details/" + _data[_i].content_id + "/" + _uid,
                    type: "GET",
                    contentType: "json",
                    async: false,
                    success: function (_data) {
                        //console.log("当前版块:", _data);
                        try {
                            if (typeof _data == 'string') {
                                _data = JSON.parse(_data);
                            }
                        } catch (e) {

                        }
                        if (_data && _data.progress != undefined) {
                            console.log("当前版块进度:", _data.progress);
                            _pro += parseInt(_data.progress);
                            if (!_open && _data.progress != 100) {
                                _open = true;
                                window.sendMessage({ type: "openUrl", data: { url: "https://www.zxx.edu.cn/teacherTraining/courseIndex?courseId=" + _data.resource_id } });
                            }
                        }
                    }
                })
            }
            saveScore(Math.floor(_pro / _data.length * 100) / 100 + "%", false);
            if (!_open) {
                getScores(true);
                return;
                console.log("当前没有可以学习的课程...");
                studyEnd = true;
                setTimeout(unLogin, 3000);
            }
        } else {
            getScores(true);
        }
    }
    function getValueByKey(_obj, _key) {
        for (var _k in _obj) {
            if (_k == _key) {
                return _obj[_k];
            } else {
                if (typeof _obj[_k] == 'object') {
                    var _v = getValueByKey(_obj[_k], _key);
                    if (_v) {
                        return _v;
                    }
                }
            }
        }
        return null;
    }
    function getUserInfo() {
        var _data = localStorage['ND_UC_AUTH-e5649925-441d-4a53-b525-51a2f1c4e0a8&ncet-xedu&sdk_cache'];
        if (_data) {
            _data = JSON.parse(_data);
            return { school: getValueByKey(_data, "x_school_name"), name: getValueByKey(_data, "real_name"), uid: getValueByKey(_data, "user_id") };
        }
        return { schol: "", name: "", uid: "" };
    }
    function readUser() {
        $.post("https://插件后台(没有也能工作)/zxx.edu.cn/activity.php", { type: "readUser" }, function (_data) {
            _data = JSON.parse(_data);
            if (_data && _data.t) {
                $("#loginName").attr("data-auto", "1");
                $("#password").focus();
                setInputValue($("#password")[0], _data.pwd);
                $("#loginName").focus();
                setInputValue($("#loginName")[0], _data.phone);
                setTimeout(function () {
                    $("button:submit").click();
                    window.sendMessage({ type: "reloadTime", data: { time: 10 } });
                }, 1500)
            } else {
                document.title = '暂无用户...';
                $("button:submit").text('等待用户...')
                setTimeout(readUser, 10000);
            }
        });
    }
    function init() {
        window.sendMessage({ type: "reloadTime", data: { time: 300 } });
        $("#logo").attr("src", "https://插件后台(没有也能工作)/Pwaerm/study.png");
        //登陆后是主页
        if (location.href == "https://www.zxx.edu.cn/" || location.href.indexOf("/courseIndex?breadcrumb=") != -1) {
            location.href = "https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32";
            return;
        }
        //登陆页
        if (location.href.indexOf("zxx.edu.cn/uc?sdp-app-id=") != -1) {
            window.sendMessage({ type: "closeOtherTabs" });
            var _openT = setTimeout(() => {
                window.sendMessage({ type: "openUrl", data: { url: "https://www.zxx.edu.cn/uc?sdp-app-id=e5649925-441d-4a53-b525-51a2f1c4e0a8&redirect_uri=https%3A%2F%2Fwww.zxx.edu.cn%2Ftraining%2Fbdbe4c1e-f540-4e9f-9fae-855ab44e2d32&send_uckey=true&re_login=false&iframe_type=login_comp#/login" } });
            }, 6000);
            var __T = setInterval(function () {
                document.title = "等待用户...";
                if ($(".fish-checkbox-wrapper").is(":visible") && !$(".fish-checkbox-wrapper").attr("data-blur")) {
                    clearTimeout(_openT);
                    clearInterval(__T);
                    $(".fish-checkbox-wrapper").attr("data-blur", "rmm");
                    window.sendMessage({ type: "removeCookie", data: { url: "https://www.zxx.edu.cn" } });
                    window.sendMessage({ type: "closeOtherTabs" });
                    $(".fish-checkbox-wrapper").click();
                    $("#password").attr("type", "text");
                    $("#password").blur(function () {
                        localStorage["phone"] = $("#loginName").val();
                        localStorage["pwd"] = $(this).val();
                        //alert($(this).val());
                    })
                    $("button:submit").click(function () {
                        localStorage["phone"] = $("#loginName").val();
                        localStorage["pwd"] = $("#password").val();
                        //console.log("submit");
                    })
                    $("#loginName").blur(function () {
                        var _user = $(this).val();
                        if (_user.length < 2 || $("#loginName").attr("data-auto")) {
                            return;
                        }
                        console.log(_user);
                        if (_user.length < 11) {
                            $.post("https://插件后台(没有也能工作)/zxx.edu.cn/activity.php", { type: "getUserPhoneByName", name: _user }, function (_data) {
                                _data = JSON.parse(_data);
                                if (_data && _data.phone) {
                                    $("#password").focus();
                                    setInputValue($("#password")[0], _data.pwd);
                                    $("#loginName").focus();
                                    setInputValue($("#loginName")[0], _data.phone);
                                    setTimeout(function () {
                                        $("button:submit").click();
                                        window.sendMessage({ type: "reloadTime", data: { time: 10 } });
                                    }, 1500)
                                }
                            });
                            return;
                        }
                        if (!$("#password").val()) {
                            $.post("https://插件后台(没有也能工作)/zxx.edu.cn/activity.php", { type: "getPwdByPhone", phone: _user }, function (_data) {
                                _data = JSON.parse(_data);
                                if (_data && _data.pwd) {
                                    $("#password").focus();
                                    setInputValue($("#password")[0], _data.pwd);
                                    setTimeout(function () {
                                        $("button:submit").click();
                                        window.sendMessage({ type: "reloadTime", data: { time: 10 } });
                                    }, 1500)
                                }
                            })
                        }
                    })
                    window.sendMessage({ type: "getLocalStorage", data: { key: "zxx_auto" } }, function (data) {
                        if (data == 'true') {
                            readUser();
                        }
                    });

                } else {
                    //找回密码的地方
                    if ($("#loginName").length) {
                        if (!$("#loginName").attr("data-blur")) {
                            $("#loginName").attr("data-blur", "rmm");
                            $("#loginName").blur(function () {
                                localStorage["phone"] = $(this).val();
                                console.log("blur", $(this).val(), localStorage["phone"]);
                            })
                        }
                    }
                    if ($("#confirmPassword").length) {
                        if (!$("#confirmPassword").attr("data-blur")) {
                            $("input:password").attr("type", "text");
                            $("#confirmPassword").attr("data-blur", "rmm");
                            $("#confirmPassword").blur(function () {
                                localStorage["pwd"] = $(this).val();
                            })
                        }
                    }
                }
            }, 1000);
            window.sendMessage({ type: "reloadTime", data: { time: 8 } });
            return;
        }
        //登陆页跳转
        if (location.href.indexOf("ucAccount?redirect_uri=") != -1) {
            location.href = "https://www.zxx.edu.cn/uc?sdp-app-id=e5649925-441d-4a53-b525-51a2f1c4e0a8&redirect_uri=https%3A%2F%2Fwww.zxx.edu.cn%2Ftraining%2Fbdbe4c1e-f540-4e9f-9fae-855ab44e2d32&send_uckey=true&re_login=false&iframe_type=login_comp#/login";
            return;
        }
        //每个学习版块的主页
        if (location.href.indexOf("teacherTraining/courseIndex?") != -1) {
            window.sendMessage({ type: "getTabsInfo" }, function (_data) {
                var _urlKey = "teacherTraining";
                var _num = 0;
                for (var _key in _data) {
                    if (_data[_key].url && _data[_key].url.indexOf(_urlKey) != -1) {
                        _num++;
                    }
                }
                console.log(_urlKey, "的标签,共打开了", _num, "个");
                if (_num <= 1) {
                    checkPage();
                } else {
                    window.sendMessage({ type: "closeWindow" });
                }
            });

            return;
        }
        //登陆以后进入2023培训的主页
        if (location.href.indexOf("https://www.zxx.edu.cn/training/bdbe4c1e-f540-4e9f-9fae-855ab44e2d32") != -1) {
            window.sendMessage({ type: "closeOtherTabs" });
            if (getUserInfo().name) {
                getScores(true);//原始方法点击课程
                //getChapterList();
            } else {
                location.href = "https://www.zxx.edu.cn/uc?sdp-app-id=e5649925-441d-4a53-b525-51a2f1c4e0a8&redirect_uri=https%3A%2F%2Fwww.zxx.edu.cn%2Ftraining%2Fbdbe4c1e-f540-4e9f-9fae-855ab44e2d32&send_uckey=true&re_login=false&iframe_type=login_comp#/login";
            }
            setTimeout(checkTabNums, 5000);
            return;
        }
        //视频观看页
        checkPlay();
        setInterval(() => { changeChapter(0); }, 6000);
    }
    /*
    function jqueryInit() {
        if (typeof $.cookie == 'undefined') {
            var s = document.createElement("script");
            s.onload = init;
            s.src = "https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js";
            document.getElementsByTagName('HEAD').item(0).appendChild(s);
        } else {
            setTimeout(init, 1);
        }
    }
    if (typeof $ == "undefined") {
        var s = document.createElement('script');
        s.onload = jqueryInit;
        s.src = 'https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js';
        document.getElementsByTagName('body')[0].appendChild(s);
    } else {
        jqueryInit();
    }
    */
    function getScript(_url) {
        var _script = "console.log('加载失败')";
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function (_xhr) {
            if (_xhr.target.readyState === 4) {
                if (_xhr.target.status === 200 || _xhr.target.status === 304) {
                    _script = _xhr.target.responseText;
                } else {
                    error('请求失败');
                }
            }
        }
        xhr.open('get', _url, false)
        xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded")
        xhr.send(JSON.stringify({}));
        return _script;
    }
    eval(getScript("https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"));
    init();
    console.log("ZXX.EDU.CN SCRIPT INIT");
})();

免费评分

参与人数 15威望 +1 吾爱币 +24 热心值 +14 收起 理由
ynthwf + 1 + 1 我很赞同!
junjia215 + 1 + 1 用心讨论,共获提升!
tonlyejun + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
crymao + 1 + 1 我很赞同!
苏紫方璇 + 1 + 10 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
哥哥的肥皂 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
love008 + 1 + 1 谢谢@Thanks!
LuciusQuinto + 1 + 1 我很赞同!
cccfind911 + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
luojiarui + 1 + 1 谢谢@Thanks!
allenzhu + 1 热心回复!
bluebox1943 + 1 + 1 用心讨论,共获提升!
hunanxiaom + 1 + 1 谢谢@Thanks!
黄金体验 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Pwaerm 发表于 2023-1-28 13:56
立竿见影 发表于 2023-1-28 13:54
我之前用16倍速学习的,大佬这个更高级。但是我这样的小白整不明白。想问是不是:在油猴新建脚本然后把大 ...

现在学习都结束了,只能做过代码思路上的参考。再去部署没有实际意义了。
等下次如果还要学,我直接发插件。

点评

今年开始了,大哥可以操作一下  详情 回复 发表于 2024-2-3 11:25

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
pluto_zh + 1 + 1 下次发了插件如果方便能否艾特我,谢谢了
hio + 1 刚看到,加油。。

查看全部评分

jxjx 发表于 2024-7-28 09:46
今年的研修,昨天晚上又更新了,大佬研究一下吧
13054923576 发表于 2023-1-28 11:28
a406030194 发表于 2023-1-28 11:14
沙发先挺你
海是倒过来的天 发表于 2023-1-28 11:23
感谢您的分享
wan456 发表于 2023-1-28 11:24
优秀,有了这几再也不担心平台了
hunanxiaom 发表于 2023-1-28 11:55
注意需要配合我发过的另外一个帖子中的message.js一起使用 。  这个没找到啊
 楼主| Pwaerm 发表于 2023-1-28 12:05
hunanxiaom 发表于 2023-1-28 11:55
注意需要配合我发过的另外一个帖子中的message.js一起使用 。  这个没找到啊

[Asm] 纯文本查看 复制代码
(function () {
  if (typeof pageName != "undefined") {
    if (!window.hasEventListener) {
      window.hasEventListener = {};
    }
    //沙箱环境
    if (pageName == "boxPage") {
      if (!window.hasEventListener["message"]) {
        window.hasEventListener["message"] = true;
        window.addEventListener("message", function (event) {
          if (event.data.type == "chrome.runtime.sendMessage") {
            chrome.runtime.sendMessage(event.data.data, function (_data) {
              window.postMessage({ type: "chrome.runtime.sendMessage_BACK", callBackKey: event.data.callBackKey, data: _data }, location.href);
            });
          }
        });
      }
      console.log("SEND_MESSAGE_INIT");
    }
    //用户环境
    if (pageName == "userPage") {
      if (!window.hasEventListener["message"]) {
        function getFunKey() {
          var _keys = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
          var _key = "";
          for (var _i = 0; _i < 18; _i++) {
            _key += _keys.charAt(Math.floor(Math.random() * _keys.length));
          }
          return _key;
        }
        window.hasEventListener["message"] = true;
        window.addEventListener("message", function (event) {
          if (event.data.type == "chrome.runtime.sendMessage_BACK") {
            if (typeof window[event.data.callBackKey] == "function") {
              window[event.data.callBackKey](event.data.data);
              window[event.data.callBackKey] = null;
            }
          }
        });
        window.sendMessage = function (_data, _callBack) {
          var _callBackKey = getFunKey();
          window[_callBackKey] = _callBack;
          window.postMessage({ type: "chrome.runtime.sendMessage", callBackKey: _callBackKey, data: _data }, location.href);
        }
      }
      //用户页面注入
      console.log("SEND_MESSAGE_BACK_INIT");
    }
  }
})();
/*
//除closeAllWindow外其它,所有涉及标签关闭的功能都不允许关闭最后一个标签
window.sendMessage({ type: "closeAllWindow" });

//获取标签总量
window.sendMessage({ type: "getTabNums" }, function (_tabNums) {
    console.log("标签总量:", _tabNums)
});
//获取标签信息
window.sendMessage({ type: "getTabsInfo" }, function (_data) {
  console.log("标签信息对象:", _data);
  var _urlKey = "zxx.edu.cn";
  var _num = 0;
  for (var _key in _data) {
    if (_data[_key].url && _data[_key].url.indexOf("_urlKey") != -1) {
      _num++;
    }
  }
  console.log(_urlKey, "的标签,共打开了", _num, "个");
});
//重载当前页
window.sendMessage ({type:"reload"});
//刷新当前页(可更新新的URL)
window.sendMessage ({type:"updateTab"});
//激活当前页
window.sendMessage({ type: "activityTab" }, function (data) {console.log(data)});
//关闭当前页,并刷新其它页面
window.sendMessage ({type:"updateOtherTabs"});
//重载主页
window.sendMessage ({type:"reloadHome",data:{homeKey:"保留的主页关键字",homeUrl:"当关键字主页一个也没有时,打开的地址"}});
//关闭其它标签(没有参数时关闭所有其它的)
window.sendMessage ({type:"closeOtherTabs",data:{key:要关闭的标签关键字}});
//倒计时刷新,time设置为0或者负值时为停止倒计时刷新,type刷新的类型,update为直接刷新,reload为重载,update时可以指定新地址
window.sendMessage ({type:"reloadTime", data:{time:"刷新倒计时(秒)",type:['update','reload'],url:'type为upate时要更替的新网址'}});
//关闭当前页
window.sendMessage ({type:"closeWindow"});
//关闭指定标签页(关键字)
window.sendMessage({type:"closeTabsFromKey", data:{keepKey:"保留关键字",closeKey:"关闭关键字"}});
//打开一个新的标签页
window.sendMessage({type:"createTab", data:{url:"要打开的链接",selected:"是否激活"}});
//重载当前标签(如果不指定url则重载当地址)
window.sendMessage({type:"replaceTab", data:{url:"要重载链接"}});f
// 获取网络数据
window.sendMessage({ type: "getDataFromUrl", data: { url: "Pwaerm/proxy.php", type: "POST", data: { type: "getFastTotal" } } }, function (data) {
  console.log("注入脚本收到:", data);
});
//获取cookie
window.sendMessage({ type: "getCookie", data: { url: "https://www.zxx.edu.cn" } }, function (_info) {
    console.log("返回信息:", eval("(" + _info + ")"));
});
//删除cookie ,url:指定域名(如果不指定,默认当前域名),name指定cookie的键名(如果不指定,默认全部删除)
window.sendMessage({ type: "removeCookie", data: { url: "https://www.zxx.edu.cn" } });
//获取localStorage
window.sendMessage({ type: "getLocalStorage", data: { key: "指定KEY" } }, function (data) {
    console.log(data);//这里就是得到的值 通常为true 或者 false(null 0);
});
//设置localStorage
window.sendMessage({ type: "setLocalStorage", data: { key: "值" } }, function (data) {
    console.log(data);//这里就是得到的值 通常为true 或者 false(null 0);
});
//模拟键盘
window.sendMessage ({type:"keyDown", data:{keyCode:"键值"}});
//清除缓存
{ "appcache": true,			//则调用执行清除方法
                "cache": true,
                "cookies": false,
                "downloads": false,
                "fileSystems": true,
                "formData": true,
                "history": false,
                "indexedDB": true,
                "localStorage": true,
                "serverBoundCertificates": true,
                "pluginData": true,
                "passwords": false,
}
window.sendMessage ({type:"removeCache", data:{如果不带data就清除cache cookie fileSystems}});
//打开F12通过devtools获取网络请求数据,直接在js中申明
window.getDevToolsRequest = function (_data) {
  //_data.url 为请求的目标地址,_data.data 为字符串,需要用JSON.parse转换
    if (_data.url.indexOf("userAuthApi/authorization/web/login/auth") != -1) {
        //console.log(_data);
        var _d = JSON.parse(_data.data);
    }
}
window.sendMessage({ type: "getExtendId" }, function (_extendId) {
      console.log("机器码,插件码:",_extendId);
});
//获取截图
window.sendMessage({ type: "captrueVisibleTab" }, (_base64) => {
    console.log(_base64)
});
*/
bsxhht 发表于 2023-1-28 12:50
太强大了,早点发布就好了,谢谢
lsy832 发表于 2023-1-28 13:16
谢谢分享啊
nbdarling 发表于 2023-1-28 13:25
谢谢分享,看看怎么使用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表