因为东方时尚改版, 请参看约车脚本2.0
约车辛苦啊, 不停的刷新。。。
刚看到有车, 一点又没了,,,
愤怒之下, 写了个自动刷新脚本, 自动帮你约车.
可以定义多个需要预订的时段~~
脚本可以无人值守…
享受吧~~ 呵呵
安装地址: dffs booking script
代码如下:
// ==UserScript== // @name dffs_booking_script // @namespace dffs.booking // @include http://yueche.dfss.cn/web/cmp/yc.aspx?StudentID=0942978 // @version 1.0.3 // @author laruence<laruence at yahoo.com.cn> // @copyright Copyright (c) 2009 laruence , All rights Reserved // ==/UserScript== // /** * monday = 1, sunday = 0 * 7:00-9:00 = 1, 19:00-21:00 = 5 , * [ [5, 5], [6, 1] ] 的意思是, 我要预约星期5晚上19点到21点, * 和星期六7点到9点, * 修改这个为你想要的时段吧 */ var expect_period = [ [6, 1], [6, 2], [0, 1], [0, 2], [0, 3], [0, 4],[0, 5] ]; //每次请求之间的延迟, 不用太短, 机器会郁闷的。 var delay = 10; //5秒 // var START = true; var delegate = function(expect_period) { var day_map = ['日', '一', '二', '三', '四', '五', '六']; var period_map = ['7-9', '9-13', '13-17', '17-19', '19-21']; var url = window.location.href; var book_day = []; var book_period = []; var self = this; var time = new Date(); var today = time.getDay(); for ( var key in expect_period ) { book_day[key] = day_map[expect_period[key][0]]; book_period[key] = period_map[expect_period[key][1] -1]; } if( typeof delegate.__initilized__ == 'undefined' ) { delegate.prototype.init = function(flag) { var x = document.createElement("div"); var btn = null; x.id = "m-btn-o"; x.innerHTML = "<style>#m-btn-o{border:solid 2px red;background-color:#ccc;left:740px;top:110px;position:absolute;}</style>"; document.body.appendChild(x); if ( flag ) { x.innerHTML += "<button id='m-btn'>开始约车</button>"; btn = document.getElementById("m-btn"); btn.addEventListener("click", function() { window.location.replace(url + '&automatic_booking=1'); }, false); } else { x.innerHTML += "<button id='m-btn'>停止</button>"; btn = document.getElementById("m-btn"); btn.addEventListener('click', function() { window.location.replace(url.replace('&automatic_booking=1', '')); }, false); setTimeout( function() { self.start(); }, 2000); } } delegate.prototype.start = function() { /* GM_xmlhttpRequest( { method : "GET", url : url, onload : function(o) { var text = o.responseText; self.isAvailable(text); }, onerror : function(e) { GM_log("Error occurred"); } }); */ var text = document.getElementById('gridgrid_div').innerHTML; self.isAvailable(text); } delegate.prototype.isAvailable = function(text){ for ( var i=0, l=expect_period.length; i<l; i++ ) { var expect_day = expect_period[i][0]; expect_day = ((expect_day - today) + 7) % 7; var id = "grid_grid_ci_0_" + expect_period[i][1] + "_" + expect_day + "_imgButton"; var input = null; if( (input = document.getElementById(id) ) && input.src.indexOf('02.gif') != -1 ) { /** * igtbl functions * defined in ig_WebGrid.js line 2477 */ var grid = unsafeWindow.igtbl_getGridById('gridgrid'); var cellId = "gridgridrc_" + expect_day + "_" + expect_period[i][1]; var cell = unsafeWindow.igtbl_getCellById(cellId); grid.setActiveCell(cell); // important var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); input.dispatchEvent(evt); return true; } } url += (url.indexOf("automatic_booking") != -1) ? '' : '&automatic_booking=1'; window.location.replace(url); } delegate.__initilized__ = true; } } window.addEventListener('load', function() { var agent = new delegate(expect_period); if ( window.location.href.indexOf('automatic_booking=1') != -1 ) { agent.init(!START); } else { agent.init(START); } }, false);
使用方法, 使用firefox, 并且安装greaseMonkey插件。 对这个不明白, 可以问问google, 他知道.