• 抢书之JS版


    无疑汤姆大叔送书是今天的热点,此贴一出立即在园子里面引起了轩然大波,书啊,免费,30本立即让大家红了眼啊,人气那叫一个排山倒海,大有要盖园子里最高楼的豪情啦,还等什么,赶快加入抢书热潮吧

      咱是程序员,抢书也得科学,自第一次抢书失败后,我便写了一个用户脚本,代码很简单,咱就让悬念停在提交延时那一块和谁对博客园服务器时间测试得更准确,行,开工,下面我粘一下代码,是一段用户脚本,存为GrabTheBook.user.js,拖到google浏览器,然后刷新就可以了,最后说一句:大叔莫怪!

    复制代码
    // ==UserScript==
    // @name         Grab The Book
    // @author       Xian Hong
    // @namespace    http://www.cnblogs.com/xianhong/
    // @description  抢汤姆大叔的书咯
    // @include      http://www.cnblogs.com/TomXu/*
    // ==/UserScript==
    function withjQuery(callback, safe) {
        if (typeof (jQuery) == "undefined") {
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
    
            if (safe) {
                var cb = document.createElement("script");
                cb.type = "text/javascript";
                cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery);";
                script.addEventListener('load', function () {
                    document.head.appendChild(cb);
                });
            }
            else {
                var dollar = undefined;
                if (typeof ($) != "undefined") dollar = $;
                script.addEventListener('load', function () {
                    jQuery.noConflict();
                    $ = dollar;
                    callback(jQuery);
                });
            }
            document.head.appendChild(script);
        } else {
            callback(jQuery);
        }
    };
    
    withjQuery(function ($) {
        var div = $("<div>", { html: '.', style: 'position: fixed;top: 10px;left: 10px;display: block;-webkit-text-size-adjust: none;font-size: 15px;color: red; 50px;height: 50px;' }).appendTo($(document.body));
        var getCurTime = function () {
            var curTime = new Date();
            var hour = curTime.getHours();
            var minutes = curTime.getMinutes();
            var second = curTime.getSeconds();
            div.html(hour + ':' + minutes + ":" + curTime.getSeconds());
            return {
                hour: hour,
                minutes: minutes,
                second: second
            };
        };
    
        var grabTheBook = function () {
            $("#tbCommentBody").html("又来抢书咯,老天保佑!");
            $("#btn_comment_submit").click();
        };
    
        var templateFun = function (h, m, s) {
            var breakFlag = false; //大叔说重复了就没有
            var f = function () {
                var curTime = getCurTime();
                if (!breakFlag && curTime.hour == h && curTime.minutes == m && curTime.second >= s) {
                    breakFlag = true;
                    grabTheBook();
                }
                else {
                    setTimeout(f, 10);
                }
            };
            return f;
        };
    
        div.click(function () {
            grabTheBook();
        });
        
        templateFun(10, 0, 2)();  //需要微调的地方,最后一个参数是秒数,下面几行一样
        templateFun(12, 0, 2)();
        templateFun(14, 0, 2)();
        templateFun(16, 0, 2)();
        templateFun(18, 0, 2)();
        templateFun(20, 0, 2)();
    }, true);
    复制代码
  • 相关阅读:
    Python之路(第十七篇)logging模块
    Python之路(第十五篇)sys模块、json模块、pickle模块、shelve模块
    Python之路(第十四篇)os模块
    Python之路(第十三篇)time模块、random模块、string模块、验证码练习
    Python之路(第十二篇)程序解耦、模块介绍导入安装、包
    Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器
    Python之路(第十一篇)装饰器
    Python之路(第十篇)迭代器协议、for循环机制、三元运算、列表解析式、生成器
    Python之路(第九篇)Python文件操作
    Python编程笔记(第二篇)二进制、字符编码、数据类型
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2734485.html
Copyright © 2020-2023  润新知