亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ajax.js

?? .NET 網頁編輯器
?? JS
字號:
//Ajax
var Ajax = {
  lastclsid:null,
  getXmlHttp:function (clsid) {
		var xmlHttp = null;
		try {
			xmlHttp = new ActiveXObject(clsid);
			this.lastclsid = clsid;
			return xmlHttp;
		} catch(ex) {}
	},
	
  getTransport: function() {
		if(this.lastclsid != null) {
			return this.getXmlHttp(this.lastclsid);
		}
	
		var xmlHttp = null;
		var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.2.6","Microsoft.XMLHTTP.1.0","Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];

		for(var i=0; i<clsids.length && xmlHttp == null; i++) {
			xmlHttp = this.getXmlHttp(clsids[i]);
		}
		
		if(xmlHttp == null) {
			throw("xmlHttp not surpported!");
		}

		return xmlHttp;
  },

  activeRequestCount: 0
}

//Responders
Ajax.Responders = {
  responders: [],

  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responderToAdd) {
    if (!this.include(responderToAdd))
      this.responders.push(responderToAdd);
  },

  unregister: function(responderToRemove) {
    this.responders = this.responders.without(responderToRemove);
  },

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (responder[callback] && typeof responder[callback] == 'function') {
        try {
          responder[callback].apply(responder, [request, transport, json]);
        } catch (e) {}
      }
    });
  }
};


Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
  onCreate: function() {
    Ajax.activeRequestCount++;
  },

  onComplete: function() {
    Ajax.activeRequestCount--;
  }
});

//Base
Ajax.Base = function() {};
Ajax.Base.prototype = {
  //options -->> 'Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete','Timeout','timeoutPeriod',...
  setOptions: function(options) {
    this.options = {
      method:       'post',
      asynchronous: true,
      parameters:   ''
           
    }
     Object.extend(this.options, options || {});
             
  },

  responseIsSuccess: function() {
    return this.transport.status == undefined
        || this.transport.status == 0
        || (this.transport.status >= 200 && this.transport.status < 300);
  },

  responseIsFailure: function() {
    return !this.responseIsSuccess();
  }
}

//Request
Ajax.Request = Class.create();
Ajax.Request.Events =
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
  initialize: function(url, options) {
    this.transport = Ajax.getTransport();
    this.setOptions(options);
    
    if(!this.options.timeoutPeriod)
		this.options.timeoutPeriod = 5000;
	
    this.request(url);
         
  },

  timeout: function() {
  	this.transport.abort();
	try{ this.options.onTimeout(); }catch(e){}
  },
	
  request: function(url) {
       
    var parameters = this.options.parameters || '';
    if (parameters.length > 0) parameters += '&_=';

    try {
      this.url = url;
      if (this.options.method == 'get' && parameters.length > 0)
        this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;

      Ajax.Responders.dispatch('onCreate', this, this.transport);
        
      this.transport.open(this.options.method, this.url,
        this.options.asynchronous);
	  				
      if (this.options.asynchronous) {
        this.transport.onreadystatechange = this.onStateChange.bind(this);
        //setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
      }
     
      this.setRequestHeaders();
    
      if(this.options.onTimeout != null)//&& typeof this.options.onTimeout == "function"
		this.timeoutTimer = setTimeout(this.timeout.bind(this), this.options.timeoutPeriod);
	

      var body = this.options.postBody ? this.options.postBody : parameters;
      this.transport.send(this.options.method == 'post' ? body : null);

    } catch (e) {
          try {
				
            (this.options['onFailure']
             || Prototype.emptyFunction)(e);
          } catch (e) {
    		
            this.dispatchException(e);
          }
      this.dispatchException(e);
    }
  },

  setRequestHeaders: function() {
    var requestHeaders =
      ['X-Requested-With', 'XMLHttpRequest',
       'X-Prototype-Version', Prototype.Version];

    if (this.options.method == 'post') {
      requestHeaders.push('Content-type',
        'application/x-www-form-urlencoded');

      /* Force "Connection: close" for Mozilla browsers to work around
       * a bug where XMLHttpReqeuest sends an incorrect Content-length
       * header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType)
        requestHeaders.push('Connection', 'close');
    }

    if (this.options.requestHeaders)
      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);

    for (var i = 0; i < requestHeaders.length; i += 2)
      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
  },

  onStateChange: function() {
    var readyState = this.transport.readyState;
    this.respondToReadyState(this.transport.readyState);
      
	  
  },

  header: function(name) {
    try {
      return this.transport.getResponseHeader(name);
    } catch (e) {}
  },

  evalJSON: function() {
    try {
      return eval(this.header('X-JSON'));
    } catch (e) {}
  },

  evalResponse: function() {
    try {
      return eval(this.transport.responseText);
    } catch (e) {
      this.dispatchException(e);
    }
  },

  respondToReadyState: function(readyState) {
    var event = Ajax.Request.Events[readyState];
    var transport = this.transport, json = this.evalJSON();
				
    if (event == 'Complete') {
    
	  if(this.timeoutTimer != null) clearTimeout(this.timeoutTimer);
    
      try {
				
        (this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
         || Prototype.emptyFunction)(transport, json);
      } catch (e) {
		
        this.dispatchException(e);
      }

      if ((this.header('Content-type') || '').match(/^text\/javascript/i))
        this.evalResponse();
    }
    
    try {
      (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
      Ajax.Responders.dispatch('on' + event, this, transport, json);
    } catch (e) {
    
      this.dispatchException(e);
    }

    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
    if (event == 'Complete')
      this.transport.onreadystatechange = Prototype.emptyFunction;
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});


//Updater
Ajax.Updater = Class.create();

Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
  initialize: function(container, url, options) {
    this.containers = {
      success: container.success ? $(container.success) : $(container),
      failure: container.failure ? $(container.failure) :
        (container.success ? null : $(container))
    }

    this.transport = Ajax.getTransport();
    this.setOptions(options);

    var onComplete = this.options.onComplete || Prototype.emptyFunction;
    this.options.onComplete = (function(transport, object) {
      this.updateContent();
      onComplete(transport, object);
    }).bind(this);

    this.request(url);
  },

  updateContent: function() {
    var receiver = this.responseIsSuccess() ?
      this.containers.success : this.containers.failure;
    var response = this.transport.responseText;

    if (!this.options.evalScripts)
      response = response.stripScripts();

    if (receiver) {
      if (this.options.insertion) {
        new this.options.insertion(receiver, response);
      } else {
        Element.update(receiver, response);
      }
    }

    if (this.responseIsSuccess()) {
      if (this.onComplete)
        setTimeout(this.onComplete.bind(this), 10);
    }
  }
});

Ajax.PeriodicalUpdater = Class.create();
Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
  initialize: function(container, url, options) {
    this.setOptions(options);
    this.onComplete = this.options.onComplete;

    this.frequency = (this.options.frequency || 2);
    this.decay = (this.options.decay || 1);

    this.updater = {};
    this.container = container;
    this.url = url;

    this.start();
  },

  start: function() {
    this.options.onComplete = this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.onComplete = undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(request) {
    if (this.options.decay) {
      this.decay = (request.responseText == this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText = request.responseText;
    }
    this.timer = setTimeout(this.onTimerEvent.bind(this),
      this.decay * this.frequency * 1000);
  },

  onTimerEvent: function() {
    this.updater = new Ajax.Updater(this.container, this.url, this.options);
  }
});



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美变态tickling挠脚心| 国产精品久久久久影院| av一区二区三区四区| 亚洲国产综合色| 国产欧美日韩在线| 日韩午夜小视频| 色噜噜久久综合| 国产精品一区一区| 丝袜美腿一区二区三区| 亚洲欧美日韩国产一区二区三区| xfplay精品久久| 欧美一区二区精品久久911| 一本色道综合亚洲| 成人午夜激情视频| 国产麻豆成人精品| 美国毛片一区二区三区| 亚洲v日本v欧美v久久精品| 亚洲视频在线一区| 国产欧美日产一区| 精品99999| 日韩欧美卡一卡二| 欧美精品乱码久久久久久按摩| 91一区一区三区| 成人激情电影免费在线观看| 精品一区二区在线观看| 蜜桃精品在线观看| 日韩综合在线视频| 日韩精品免费专区| 亚洲成人一区二区| 一区二区成人在线| 亚洲午夜私人影院| 亚洲国产精品人人做人人爽| 伊人一区二区三区| 亚洲制服丝袜av| 一区二区三区四区五区视频在线观看 | 制服丝袜亚洲色图| 欧美性猛片xxxx免费看久爱| 91黄视频在线观看| 在线免费视频一区二区| 在线观看日韩一区| 欧美日本一道本在线视频| 欧美色男人天堂| 欧美伦理影视网| 日韩欧美国产不卡| 久久综合视频网| 久久久91精品国产一区二区精品 | 久久久不卡影院| 国产无人区一区二区三区| 精品国产1区2区3区| 欧美日韩免费一区二区三区| 久久精品视频在线免费观看| 欧美群妇大交群的观看方式| 色域天天综合网| 不卡视频免费播放| 香蕉久久夜色精品国产使用方法 | 国产在线精品一区二区夜色| 精品国产污污免费网站入口| 91成人在线精品| 狠狠色丁香婷婷综合| 男女性色大片免费观看一区二区| 日韩av电影免费观看高清完整版| 天堂在线亚洲视频| 亚洲另类色综合网站| 亚洲大片一区二区三区| 欧美欧美欧美欧美首页| 国产色产综合产在线视频| 欧美哺乳videos| 国产欧美一区视频| 亚洲福利视频一区| 国产乱妇无码大片在线观看| 欧美日韩综合色| 中文字幕不卡在线| 麻豆精品国产91久久久久久 | 3atv一区二区三区| 国产精品久久久久aaaa| 天天操天天干天天综合网| 成人白浆超碰人人人人| 欧美男男青年gay1069videost | 日韩经典一区二区| 波多野结衣在线aⅴ中文字幕不卡| 欧美日韩精品欧美日韩精品一| 久久久夜色精品亚洲| 日日夜夜免费精品| 欧美性受xxxx| 偷偷要91色婷婷| 亚洲日本在线视频观看| 蜜桃91丨九色丨蝌蚪91桃色| 欧美视频日韩视频在线观看| 国产三级欧美三级| 美国十次综合导航| 日韩一区和二区| 亚洲色大成网站www久久九九| 成人免费高清在线| 亚洲欧洲成人自拍| 色哦色哦哦色天天综合| 蜜臀av一区二区| 欧美激情一区在线| 激情偷乱视频一区二区三区| 精品国产乱码久久| 成人免费毛片片v| 18涩涩午夜精品.www| 91福利国产精品| 精品在线一区二区| 中文字幕精品综合| 在线免费精品视频| 黄色精品一二区| 同产精品九九九| 亚洲精品成人少妇| 欧美国产一区在线| 久久一区二区三区四区| 欧美精品vⅰdeose4hd| 欧美影院一区二区| 国产一区二区在线观看免费| 中文字幕欧美日本乱码一线二线| 色吊一区二区三区| 国产精品一二三区在线| 艳妇臀荡乳欲伦亚洲一区| 精品乱人伦小说| 欧美视频中文字幕| 欧美日韩一二区| 岛国一区二区在线观看| 韩国精品在线观看| 一区二区三区在线观看网站| 中文成人av在线| 国产精品久久久久久户外露出 | 欧美日本一区二区| 成人激情动漫在线观看| 国产成人aaaa| 亚洲国产精品麻豆| 国产精品久久久久久福利一牛影视| 欧美日韩国产区一| 色哟哟一区二区| 高清av一区二区| 国产一区二区视频在线| 午夜a成v人精品| 一区二区三区视频在线看| 亚洲国产高清在线| 国产欧美日韩视频一区二区| 日韩一区二区三区免费看| 色综合一个色综合| 国产精品一区二区三区乱码| 另类中文字幕网| 日本成人在线一区| 麻豆久久久久久| 久久av资源站| 久久电影网电视剧免费观看| 婷婷亚洲久悠悠色悠在线播放| 国产精品成人免费| 国产人妖乱国产精品人妖| 日韩女优电影在线观看| 欧美日韩一区视频| 色噜噜狠狠成人中文综合| av男人天堂一区| 99久久99久久免费精品蜜臀| caoporn国产精品| 成人激情文学综合网| 成人黄色av电影| 成人免费看视频| 在线观看视频一区二区欧美日韩| 色网站国产精品| 欧美日韩亚洲综合在线| 色综合激情五月| 欧美日韩日本视频| 欧美福利视频导航| 欧美成人伊人久久综合网| 欧美激情一区二区三区四区| 1区2区3区国产精品| 亚洲大片在线观看| 久久精品国产一区二区| 国产一区二区免费视频| 波多野结衣视频一区| 精品午夜久久福利影院| 久久久久国产精品免费免费搜索| 精品粉嫩超白一线天av| 欧美一区二区精美| 国产精品丝袜91| 日韩一区二区在线免费观看| 亚洲成a人片在线不卡一二三区| 欧美日韩另类国产亚洲欧美一级| 成人午夜在线视频| 久久99精品久久久| 奇米精品一区二区三区四区| 视频一区二区三区入口| 日韩欧美高清在线| 成人免费va视频| 亚洲免费观看高清完整版在线观看熊 | 日韩欧美成人一区二区| 一区二区高清在线| 久久国产剧场电影| 色综合色综合色综合色综合色综合| www.欧美色图| 色婷婷综合中文久久一本| 欧洲av在线精品| 久久蜜桃一区二区| 国产欧美日韩激情| 日本最新不卡在线| 91丝袜美女网| 欧美一区二区三区四区五区| 欧美色精品在线视频| 欧美精品久久99|