Greasy Fork

Greasy Fork is available in English.

京东优惠券抢购

京东优惠券刷新测试

目前为 2017-06-18 提交的版本,查看 最新版本

// ==UserScript==
// @name        京东优惠券抢购
// @author      rjw
// @description 京东优惠券刷新测试
// @namespace   com.uestc.rjw
// @icon        https://raw.githubusercontent.com/babyrjw/StaticFiles/master/logo_jd.jpg
// @license     Apache Licence V2
// @encoding    utf-8
// @date        18/06/2017
// @modified    18/06/2017
// @noframes
// @match       *://sale.jd.com/act/*
// @require     http://code.jquery.com/jquery-2.1.1.min.js
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_setClipboard
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @run-at      document-end
// @connect     jd.com
// @version     1.0.1
// ==/UserScript==


/*
 * === 说明 ===
 *@作者:rjw
 *@Email:[email protected]
 * */
(function add_start(){
    console.log('handle all coupon link :'+unsafeWindow.location);
    var all_a = $("a[href*='coupon']");
    all_a.each(function(index, e){
        var item = $(this);
        var url = item.attr('href');
        item.attr('data-url',url);
        item.removeAttr('href');
        item.removeAttr('target');
        var item_id = "retrive_coupon"+index;
        $(this).append("<button style='display:block;width:100%;height:58px;font-size:1.5em'>获取优惠券<br/><span id='"+item_id+"' style='font-size:0.5em'></span></button>");
        var click_count = 0;
        var is_continue = false;
        $(this).on('click', function(){
            click_count = 0;
            is_continue = !is_continue;
            function get_coupon(){
                click_count += 1;
                GM_xmlhttpRequest({
                    url:url,
                    method:'GET',
                    onload:function(response){
                        var result = response.responseText;
                        var doc = $(result);
                        var contents = doc.find('.content');
                        if(contents.length > 0){
                            $('#'+item_id).text(click_count+":"+contents[0].innerText);
                        }else{
                            $('#'+item_id).text(click_count+':获取结果出错');
                        }
                        if(is_continue){
                            setTimeout(function(){
                                get_coupon();
                            },0);
                        }
                    }
                });
             }
            if(is_continue){
                if(url.indexOf("//") === 0){
                    url = unsafeWindow.location.protocol + url;
                }
                console.log('开始获取优惠券:'+ url);
                get_coupon();
            }else{
                console.log('停止获取优惠券:'+ url);
            }
        });
    });
})();