)因为东方时尚改版, 请参看约车脚本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, 他知道.
[...] 原来的脚本不能用了. 马上有人要报名了, [...]
看到大哥的贴子相当兴奋,心想总算看到了约车的希望了。可是俺是新手,不会玩这么高的技术,能不能送佛送到西,再详尽一点?我已经装了插件,也安装了脚本(点击了您提供的地址),接着应该是要改代码了吧?就这一步不会…
@tangtang dfsf改版了,,我也没有账户可以测试修改… 所以不能用了.
怎么我用了也没效果呢?还请赐教呀!!
老大?为啥我测试了2.0-3.0-3.5三个版本的FF,始终没有见到过其自动刷新的效果呢?多谢,敬请指教:)
yuningilike@163.com
路过,顺便顶下