From Javascript's kiss
var XHR = function(){
var xhr = null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xhr;
}
var ajaxGet = function(url, handle){
var xhr = XHR();
xhr.open("GET", url, true);
xhr.onreadystatechange = function(){
if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 304)) {
handle(xhr);
}
}
xhr.send(null);
}
var backToPrevious = {
step: [], //用于储存每一步的参数
previous: null,
run: function(url, handle){
this.step.push(this.previous); //储存每一步的参数
this.previous = {
"url": url,
"handle": handle
};
ajaxGet(url, handle);
},
undo: function(){
var item = this.step.pop();
if (item) {
ajaxGet(item.url, item.handle);
}
}
}
onload = function(){
var div = document.getElementById("div");
div.style.left = "200px";
//alert(div.style.left);
document.getElementById("do1").onclick = function(){
backToPrevious.run("test.txt", handle);
//alert(Move.step);
}
document.getElementById("do2").onclick = function(){
backToPrevious.run("test2.txt", handle);
}
document.getElementById("do3").onclick = function(){
backToPrevious.run("test3.txt", handle);
}
document.getElementById("undo").onclick = function(){
backToPrevious.undo();
}
function handle(xhr){
div.innerHTML = xhr.responseText;
}
}