// ==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 // @downloadURL none // ==/UserScript== /* * === 说明 === *@作者:rjw *@Email:babyrjw@163.com * */ (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(""); 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); } }); }); })();