zoukankan      html  css  js  c++  java
  • 抢书之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);
    复制代码
  • 相关阅读:
    IIS重定向通配符说明
    Powershell小技巧
    WPF学习笔记三 依赖属性
    Visual Studio .NET加密技术剖析系列课程(视频课程讲师:王为)
    OBA开发系列课程(视频课程讲师:钟伟)
    深度剖析Workflow Foundation系列课程(视频课程讲师:徐晓卓)
    从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(视频课程讲师:徐晓卓)
    Silverlight风云演义系列课程(视频课程讲师:王洪超)
    微软高性能运算系列课程(视频课程讲师:任旻、张海忠)
    Microsoft Office Sharepoint Server 2007开发系列课程(视频课程讲师:鞠海洋)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2734485.html
Copyright © 2011-2022 走看看