工程名Chrome_Extenstion_Bider
适用于chrome内核的浏览器
目录结构
1 2 3 4 5 6 7 | Chrome_Extenstion_Bider/Bider/css |-Chrome_Extenstion_Bider/Bider/css/common.css Chrome_Extenstion_Bider/Bider/include |-Chrome_Extenstion_Bider/Bider/include/jquery-1.11.0.min.js Chrome_Extenstion_Bider/Bider/scripts |-Chrome_Extenstion_Bider/Bider/scripts/main.js Chrome_Extenstion_Bider/Bider/manifest.json |
Chrome_Extenstion_Bider/Bider/manifest.json
1 2 3 4 5 6 7 8 9 10 11 12 | { "manifest_version": 2, "name": "Bider", "version": "0.1.0", "description": "Bider.", "content_scripts": [{ "matches": ["http://www.hillmatrix.com/*"], "css": ["css/common.css"], "js": ["include/jquery-1.11.0.min.js", "scripts/main.js"], "all_frames": true }] } |
Chrome_Extenstion_Bider/Bider/css/common.css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | #ls_box { position: absolute; width: 500px; height: 300px; background-color: #fff; border-radius: 5px; border: 1px solid #ccc; left: 50%; top: 50%; margin-left: -250px; margin-top: -150px; z-index: 99999; padding: 10px; } #ls_box h3 { height: 30px; line-height: 30px; border-bottom: 1px solid #ccc; margin: 0 0 5px 0; padding: 0; } #ls_box #ls_panel { height: 105px; margin: 10px 0; } #ls_box #ls_panel #ls_ms { color: blue; display: inline-block; } #ls_box #ls_panel #ls_warn { color: red; width: 312px; text-align: right; display: inline-block; } #ls_box #ls_panel #ls_list { overflow-x: hidden; overflow-y: scroll; height: 90px; margin: 0; padding: 0; } #ls_box #ls_panel #ls_list ul li { height: 24px; line-height: 24px; border-bottom: 1px dotted #efefef; } #ls_box #ls_panel #ls_list ul li span { float: right; cursor: pointer; } #ls_box #ls_form { background-color: #efefef; border-radius: 5px; padding: 10px; } #ls_box #ls_form label { padding: 0 5px; display: inline-block; } #ls_box #ls_form #ls_panel { padding: 0 5px; } #ls_box #ls_form input { width: 120px; padding: 5px 10px; display: inline-block; } #ls_box #ls_form #ls_btnc { width: auto; padding: 5px 10px; text-align: center; } #ls_box #ls_form button { padding: 5px 10px; display: inline-block; margin-right: 20px; } |
Chrome_Extenstion_Bider/Bider/include/jquery-1.11.0.min.js
…
Chrome_Extenstion_Bider/Bider/scripts/main.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | var main = { flag: false, flash: 200, money: 0, // 初始化 init: function(target) { // 创建界面 this.create(target); // 获取页面数据 this.listenPage(); //绑定按钮 this.bindBtn(); }, //绑定BTN bindBtn: function() { _this = this; var ls_start = $('#ls_start'); var ls_stop = $('#ls_stop'); var ls_max = $('#ls_max'); var ls_step = $('#ls_step'); if (!_this.flag) { ls_stop.attr("disabled", "disabled"); ls_start.removeAttr("disabled"); ls_max.removeAttr("disabled"); ls_step.removeAttr("disabled"); } else { ls_start.attr("disabled", "disabled"); ls_stop.removeAttr("disabled"); ls_max.attr("disabled", "disabled"); ls_step.attr("disabled", "disabled"); } ls_start.bind("click", function() { if (!_this.flag) { ls_start.attr("disabled", "disabled"); ls_stop.removeAttr("disabled"); ls_max.attr("disabled", "disabled"); ls_step.attr("disabled", "disabled"); _this.flag = true; } }); ls_stop.bind("click", function() { if (_this.flag) { ls_stop.attr("disabled", "disabled"); ls_start.removeAttr("disabled"); ls_max.removeAttr("disabled"); ls_step.removeAttr("disabled"); _this.flag = false; } }); }, //动态竞标价 activePrice: function() { _this = this; var page_sendbtn = $('#bidBtnId'); var page_pi = $('.TB_priceInput'); var ls_max = parseInt($('#ls_max').val()); var ls_step = parseInt($('#ls_step').val()); //console.log(_this.flag); if (_this.flag && ls_max > 0 && ls_step > 0) { var cmoney = parseInt(_this.money); var m1 = cmoney + ls_step; var m2 = ls_max + ls_step; if (m1 <= ls_max) { page_pi.val(m1); $('#ls_warn').html('当前出价:' + m1); } else if (cmoney == ls_max) { page_pi.val(m2); $('#ls_warn').html('当前出价(MAX+1):' + m2); } else { $('#ls_warn').html('已经超出最大限额+1步长,停止竞标'); $('#ls_stop').delay(500).click(); } } else if (!_this.flag) { $('#ls_warn').html('自动竞标系统停止中'); } else { $('#ls_warn').html('请设置正确的参数'); } }, // 创建界面 create: function(target) { var _html = '<div id="ls_box">' + '<h3>' + 'Bider' + '</h3>' + '<div id="ls_panel">' + '<div>毫秒计数器:<span id="ls_ms">0</span><span id="ls_warn"></span></div>' + '<ul id="ls_list">正在加载数据...' + '</ul>' + '</div>' + '<div id="ls_form">' + '<div id="ls_panel">' + '<h3>' + '策略' + '</h3>' + '<label>' + '最高价: ' + '</label>' + '<input type="text" id="ls_max" value="0" />' + '<label>' + '步长: ' + '</label>' + '<input type="text" id="ls_step" value="10" />' + '<br />' + '<div id="ls_btnc"><button id="ls_start">开始</button><button id="ls_stop">停止</button></div>' + '</div>' + '</div>' + '</div>'; target.closest("body").append(_html); }, /** * 监听页面数据变化 */ listenPage: function() { _this = this; var page_countDown = $('#countDown_counting'); //the element I want to monitor page_countDown.bind('DOMCharacterDataModified DOMSubtreeModified', function(e) { var page_cp = $('#currentPrice').html(); var price_arr = page_cp.split("/"); var page_cp_total = price_arr[0]; var page_cp_single = price_arr[1]; _this.money = page_cp_single; var dataList = ['当前状态:总价:' + page_cp_total + ',单价:' + page_cp_single]; dataList.push('倒计时:' + $('#countDown_counting').html() + '秒'); _this.printData(dataList); }); }, /** * 将已有数据写到页面上 */ printData: function(dataList) { if (!dataList || dataList.length == 0) { $("#ls_list").html('<p>获取数据失败</p>'); return; } // 遍历对象,构建输出html var _html = []; for (var i in dataList) { _html.push('<li>' + dataList[i] + '</li>'); } $("#ls_list").html(_html.join('')); }, } var ext_c = $('#countDown_counting'); //console.log(ext_c[0]); if (ext_c[0] != undefined) { main.init(ext_c); var ext_t = parseInt(ext_c.html()) * 1000; var ext_isclick = false; ext_c.bind('DOMCharacterDataModified DOMSubtreeModified', function(e) { if ($.isNumeric($(this).html())) { ext_t = parseInt($(this).html()) * 1000; } }); var ext_ms = function() { var ext_s = 0; if (ext_t > 0) { ext_t -= 17; ext_s = ext_t; } if (ext_c.html() == '0') { ext_c.unbind(); clearInterval(ext_run); } console.log(ext_s); $('#ls_ms').html(ext_s); if (ext_s <= main.flash && !ext_isclick && main.flag) { ext_isclick = true; console.log('倒计时剩余:' + ext_s + '毫秒,提交请求!'); ext_c.unbind(); clearInterval(ext_run); $('#bidBtnId').click(); } main.activePrice(); } //毫秒级计数器 var ext_run = setInterval(ext_ms, 15); } |
Chrome_Extenstion_Bider