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

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

?? engine.js

?? DWR is the way for AJAX implementation
?? JS
?? 第 1 頁 / 共 4 頁
字號:
    batch.postHooks = null;  }};/** @private A call has finished by whatever means and we need to shut it all down. */dwr.engine._clearUp = function(batch) {  if (!batch) { dwr.engine._debug("Warning: null batch in dwr.engine._clearUp()", true); return; }  if (batch.completed) { dwr.engine._debug("Warning: Double complete", true); return; }  // IFrame tidyup  if (batch.div) batch.div.parentNode.removeChild(batch.div);  if (batch.iframe) {    // If this is a poll frame then stop comet polling    for (var i = 0; i < dwr.engine._outstandingIFrames.length; i++) {      if (dwr.engine._outstandingIFrames[i] == batch.iframe) {        dwr.engine._outstandingIFrames.splice(i, 1);      }    }    batch.iframe.parentNode.removeChild(batch.iframe);  }  if (batch.form) batch.form.parentNode.removeChild(batch.form);  // XHR tidyup: avoid IE handles increase  if (batch.req) {    // If this is a poll frame then stop comet polling    if (batch.req == dwr.engine._pollReq) dwr.engine._pollReq = null;    delete batch.req;  }  // Timeout tidyup  if (batch.timeoutId) {    clearTimeout(batch.timeoutId);    delete batch.timeoutId;  }  if (batch.map && (batch.map.batchId || batch.map.batchId == 0)) {    delete dwr.engine._batches[batch.map.batchId];    dwr.engine._batchesLength--;  }  batch.completed = true;  // If there is anything on the queue waiting to go out, then send it.  // We don't need to check for ordered mode, here because when ordered mode  // gets turned off, we still process *waiting* batches in an ordered way.  if (dwr.engine._batchQueue.length != 0) {    var sendbatch = dwr.engine._batchQueue.shift();    dwr.engine._sendData(sendbatch);  }};/** @private Abort any XHRs in progress at page unload (solves zombie socket problems in IE). */dwr.engine._unloader = function() {  dwr.engine._unloading = true;  // Empty queue of waiting ordered requests  dwr.engine._batchQueue.length = 0;  // Abort any ongoing XHRs and clear their batches  for (var batchId in dwr.engine._batches) {    var batch = dwr.engine._batches[batchId];    // Only process objects that look like batches (avoid prototype additions!)    if (batch && batch.map) {      if (batch.req) {        batch.req.abort();      }      dwr.engine._clearUp(batch);    }  }};// Now register the unload handlerif (window.addEventListener) window.addEventListener('unload', dwr.engine._unloader, false);else if (window.attachEvent) window.attachEvent('onunload', dwr.engine._unloader);/** @private Generic error handling routing to save having null checks everywhere */dwr.engine._handleError = function(batch, ex) {  if (typeof ex == "string") ex = { name:"unknown", message:ex };  if (ex.message == null) ex.message = "";  if (ex.name == null) ex.name = "unknown";  if (batch && typeof batch.errorHandler == "function") batch.errorHandler(ex.message, ex);  else if (dwr.engine._errorHandler) dwr.engine._errorHandler(ex.message, ex);  if (batch) dwr.engine._clearUp(batch);};/** @private Generic error handling routing to save having null checks everywhere */dwr.engine._handleWarning = function(batch, ex) {  if (typeof ex == "string") ex = { name:"unknown", message:ex };  if (ex.message == null) ex.message = "";  if (ex.name == null) ex.name = "unknown";  if (batch && typeof batch.warningHandler == "function") batch.warningHandler(ex.message, ex);  else if (dwr.engine._warningHandler) dwr.engine._warningHandler(ex.message, ex);  if (batch) dwr.engine._clearUp(batch);};/** * @private Marshall a data item * @param batch A map of variables to how they have been marshalled * @param referto An array of already marshalled variables to prevent recurrsion * @param data The data to be marshalled * @param name The name of the data being marshalled */dwr.engine._serializeAll = function(batch, referto, data, name) {  if (data == null) {    batch.map[name] = "null:null";    return;  }  switch (typeof data) {  case "boolean":    batch.map[name] = "boolean:" + data;    break;  case "number":    batch.map[name] = "number:" + data;    break;  case "string":    batch.map[name] = "string:" + encodeURIComponent(data);    break;  case "object":    if (data instanceof String) batch.map[name] = "String:" + encodeURIComponent(data);    else if (data instanceof Boolean) batch.map[name] = "Boolean:" + data;    else if (data instanceof Number) batch.map[name] = "Number:" + data;    else if (data instanceof Date) batch.map[name] = "Date:" + data.getTime();    else if (data && data.join) batch.map[name] = dwr.engine._serializeArray(batch, referto, data, name);    else batch.map[name] = dwr.engine._serializeObject(batch, referto, data, name);    break;  case "function":    // We just ignore functions.    break;  default:    dwr.engine._handleWarning(null, { name:"dwr.engine.unexpectedType", message:"Unexpected type: " + typeof data + ", attempting default converter." });    batch.map[name] = "default:" + data;    break;  }};/** @private Have we already converted this object? */dwr.engine._lookup = function(referto, data, name) {  var lookup;  // Can't use a map: getahead.org/ajax/javascript-gotchas  for (var i = 0; i < referto.length; i++) {    if (referto[i].data == data) {      lookup = referto[i];      break;    }  }  if (lookup) return "reference:" + lookup.name;  referto.push({ data:data, name:name });  return null;};/** @private Marshall an object */dwr.engine._serializeObject = function(batch, referto, data, name) {  var ref = dwr.engine._lookup(referto, data, name);  if (ref) return ref;  // This check for an HTML is not complete, but is there a better way?  // Maybe we should add: data.hasChildNodes typeof "function" == true  if (data.nodeName && data.nodeType) {    return dwr.engine._serializeXml(batch, referto, data, name);  }  // treat objects as an associative arrays  var reply = "Object_" + dwr.engine._getObjectClassName(data) + ":{";  var element;  for (element in data) {    if (typeof data[element] != "function") {      batch.paramCount++;      var childName = "c" + dwr.engine._batch.map.callCount + "-e" + batch.paramCount;      dwr.engine._serializeAll(batch, referto, data[element], childName);      reply += encodeURIComponent(element) + ":reference:" + childName + ", ";    }  }  if (reply.substring(reply.length - 2) == ", ") {    reply = reply.substring(0, reply.length - 2);  }  reply += "}";  return reply;};/** @private Returns the classname of supplied argument obj */dwr.engine._errorClasses = { "Error":Error, "EvalError":EvalError, "RangeError":RangeError, "ReferenceError":ReferenceError, "SyntaxError":SyntaxError, "TypeError":TypeError, "URIError":URIError };dwr.engine._getObjectClassName = function(obj) {  // Try to find the classname by stringifying the object's constructor  // and extract <class> from "function <class>".  if (obj && obj.constructor && obj.constructor.toString)  {    var str = obj.constructor.toString();    var regexpmatch = str.match(/function\s+(\w+)/);    if (regexpmatch && regexpmatch.length == 2) {      return regexpmatch[1];    }  }  // Now manually test against the core Error classes, as these in some   // browsers successfully match to the wrong class in the   // Object.toString() test we will do later  if (obj && obj.constructor) {	for (var errorname in dwr.engine._errorClasses) {      if (obj.constructor == dwr.engine._errorClasses[errorname]) return errorname;    }  }  // Try to find the classname by calling Object.toString() on the object  // and extracting <class> from "[object <class>]"  if (obj) {    var str = Object.prototype.toString.call(obj);    var regexpmatch = str.match(/\[object\s+(\w+)/);    if (regexpmatch && regexpmatch.length==2) {      return regexpmatch[1];    }  }  // Supplied argument was probably not an object, but what is better?  return "Object";};/** @private Marshall an object */dwr.engine._serializeXml = function(batch, referto, data, name) {  var ref = dwr.engine._lookup(referto, data, name);  if (ref) return ref;  var output;  if (window.XMLSerializer) output = new XMLSerializer().serializeToString(data);  else if (data.toXml) output = data.toXml;  else output = data.innerHTML;  return "XML:" + encodeURIComponent(output);};/** @private Marshall an array */dwr.engine._serializeArray = function(batch, referto, data, name) {  var ref = dwr.engine._lookup(referto, data, name);  if (ref) return ref;  if (document.all && !window.opera) {    // Use array joining on IE (fastest)    var buf = ["Array:["];    for (var i = 0; i < data.length; i++) {      if (i != 0) buf.push(",");      batch.paramCount++;      var childName = "c" + dwr.engine._batch.map.callCount + "-e" + batch.paramCount;      dwr.engine._serializeAll(batch, referto, data[i], childName);      buf.push("reference:");      buf.push(childName);    }    buf.push("]");    reply = buf.join("");  }  else {    // Use string concat on other browsers (fastest)    var reply = "Array:[";    for (var i = 0; i < data.length; i++) {      if (i != 0) reply += ",";      batch.paramCount++;      var childName = "c" + dwr.engine._batch.map.callCount + "-e" + batch.paramCount;      dwr.engine._serializeAll(batch, referto, data[i], childName);      reply += "reference:";      reply += childName;    }    reply += "]";  }  return reply;};/** @private Convert an XML string into a DOM object. */dwr.engine._unserializeDocument = function(xml) {  var dom;  if (window.DOMParser) {    var parser = new DOMParser();    dom = parser.parseFromString(xml, "text/xml");    if (!dom.documentElement || dom.documentElement.tagName == "parsererror") {      var message = dom.documentElement.firstChild.data;      message += "\n" + dom.documentElement.firstChild.nextSibling.firstChild.data;      throw message;    }    return dom;  }  else if (window.ActiveXObject) {    dom = dwr.engine._newActiveXObject(dwr.engine._DOMDocument);    dom.loadXML(xml); // What happens on parse fail with IE?    return dom;  }  else {    var div = document.createElement("div");    div.innerHTML = xml;    return div;  }};/** @param axarray An array of strings to attempt to create ActiveX objects from */dwr.engine._newActiveXObject = function(axarray) {  var returnValue;    for (var i = 0; i < axarray.length; i++) {    try {      returnValue = new ActiveXObject(axarray[i]);      break;    }    catch (ex) { /* ignore */ }  }  return returnValue;};/** @private Used internally when some message needs to get to the programmer */dwr.engine._debug = function(message, stacktrace) {  var written = false;  try {    if (window.console) {      if (stacktrace && window.console.trace) window.console.trace();      window.console.log(message);      written = true;    }    else if (window.opera && window.opera.postError) {      window.opera.postError(message);      written = true;    }  }  catch (ex) { /* ignore */ }  if (!written) {    var debug = document.getElementById("dwr-debug");    if (debug) {      var contents = message + "<br/>" + debug.innerHTML;      if (contents.length > 2048) contents = contents.substring(0, 2048);      debug.innerHTML = contents;    }  }};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国欧美一区二区| 亚洲欧美国产77777| 亚洲一区视频在线| 国产成人精品aa毛片| 日韩精品专区在线影院观看| 国产精品77777| 日韩精品资源二区在线| 欧美a一区二区| 日韩欧美美女一区二区三区| 蜜桃视频在线观看一区| 欧美一区二区黄| 麻豆一区二区三区| 久久嫩草精品久久久久| 国产在线精品一区二区不卡了| 精品久久久久久久久久久久久久久 | 精品国产亚洲在线| 久久91精品国产91久久小草| 欧美亚洲一区三区| 天天综合色天天综合色h| 91精品免费在线| 精品写真视频在线观看| 久久久久久久电影| 99精品欧美一区二区三区小说| 亚洲日本韩国一区| 欧美日韩国产高清一区二区三区 | 精品国产伦理网| 国产精品亚洲一区二区三区妖精 | 最新中文字幕一区二区三区| 国内外成人在线| 国产精品女同互慰在线看| 99精品欧美一区二区三区综合在线| 国产精品视频观看| 欧美视频精品在线观看| 日韩av一级片| 国产精品素人视频| 欧美日韩精品二区第二页| 久久精品国产澳门| 亚洲同性gay激情无套| 欧美日韩一区二区在线观看视频| 日日摸夜夜添夜夜添精品视频 | 日韩视频免费观看高清在线视频| 麻豆成人久久精品二区三区小说| 欧美一级淫片007| 国产剧情一区二区| 亚洲精品国产无天堂网2021| 91精品国产综合久久久久| 国产成人无遮挡在线视频| 一区二区欧美国产| 91麻豆精品国产91久久久久久久久| 国内一区二区在线| 亚洲aaa精品| 国产精品你懂的在线欣赏| 欧美丝袜自拍制服另类| 国产精品888| 香蕉乱码成人久久天堂爱免费| 最新高清无码专区| 国产亚洲精品aa午夜观看| 日韩一卡二卡三卡四卡| 欧美日韩国产a| 91久久精品一区二区| 成人免费视频播放| 国产精品一二三区在线| 久久99热99| 九九精品视频在线看| 日本色综合中文字幕| 日韩精品电影在线观看| 亚洲一区二区三区小说| 一区二区三区四区不卡视频| 亚洲天天做日日做天天谢日日欢| 国产精品久久毛片| 国产精品三级av| 国产精品剧情在线亚洲| 欧美激情一区在线| 国产精品久久久久aaaa| 国产精品理论在线观看| 国产一区不卡视频| 国内精品久久久久影院一蜜桃| 免费成人性网站| 激情综合五月婷婷| 蜜臀久久99精品久久久久宅男| 日韩电影在线免费| 精品亚洲porn| 国产成人免费视频网站| 成人久久18免费网站麻豆| 成人黄色在线网站| 色网综合在线观看| 欧美四级电影在线观看| 91精品一区二区三区久久久久久| 欧美高清视频一二三区| 欧美一区二区大片| 久久九九全国免费| 亚洲欧美日韩中文字幕一区二区三区 | 国产在线乱码一区二区三区| 精品一区二区三区免费毛片爱| 激情欧美一区二区| 处破女av一区二区| 在线观看亚洲专区| 91精品久久久久久久91蜜桃 | 欧美午夜精品电影| 日韩一区二区中文字幕| 久久久影视传媒| 亚洲六月丁香色婷婷综合久久| 亚洲一二三四久久| 美女视频免费一区| 粉嫩av一区二区三区在线播放| 91蜜桃在线观看| 欧美精品日韩综合在线| 亚洲精品在线三区| 亚洲精品国产第一综合99久久 | 欧美一级淫片007| 国产精品私人自拍| 五月天激情综合网| 国产99精品国产| 在线免费观看成人短视频| 日韩一区二区免费电影| 国产肉丝袜一区二区| 亚洲一区在线免费观看| 极品少妇xxxx精品少妇| 色婷婷av一区| www久久久久| 午夜伊人狠狠久久| 国产91清纯白嫩初高中在线观看 | 欧美日韩mp4| 国产日韩亚洲欧美综合| 伊人婷婷欧美激情| 精品一区在线看| 国产99一区视频免费| 国产精品日韩成人| 日产精品久久久久久久性色| 成人欧美一区二区三区黑人麻豆| 亚洲福利电影网| 乱中年女人伦av一区二区| 色天天综合久久久久综合片| 精品国产伦一区二区三区观看方式 | 精品在线亚洲视频| 欧美三级资源在线| 国产精品久久久久久久久免费桃花 | 青青草国产精品97视觉盛宴| 91在线小视频| 国产亚洲精品aa| 久久电影网电视剧免费观看| 在线精品视频免费观看| 国产精品欧美久久久久无广告| 精品一区二区三区免费毛片爱 | 欧美日韩国产经典色站一区二区三区| 国产精品欧美久久久久一区二区| 美女一区二区三区| 欧美日韩激情一区二区三区| 亚洲免费电影在线| 白白色 亚洲乱淫| 国产欧美一区在线| 韩日av一区二区| 日韩精品影音先锋| 日韩黄色片在线观看| 欧美性高清videossexo| 亚洲精品第一国产综合野| 成人午夜激情影院| 国产精品每日更新| 不卡的看片网站| 国产精品久久福利| 成人激情动漫在线观看| 亚洲国产成人一区二区三区| 国产成人综合自拍| 久久久99免费| 成人性生交大片免费| 中文一区二区完整视频在线观看 | 日韩电影在线看| 91精品国产色综合久久不卡电影| 亚洲成av人片在线| 这里只有精品免费| 久久精品久久精品| 久久综合国产精品| 国产精品中文字幕欧美| 欧美经典三级视频一区二区三区| 国产成人在线影院| 国产精品家庭影院| 在线观看免费亚洲| 日韩高清欧美激情| 久久亚洲影视婷婷| 成人av资源在线| 亚洲乱码中文字幕| 欧美日韩成人综合在线一区二区| 天堂影院一区二区| 精品国产乱码久久久久久浪潮| 国产成人欧美日韩在线电影| 一色屋精品亚洲香蕉网站| 色国产精品一区在线观看| 亚洲a一区二区| 久久亚洲精精品中文字幕早川悠里| 国产成人精品免费| 亚洲一区二区三区在线看| 日韩一区二区电影| 成人午夜av电影| 亚洲福利一二三区| wwww国产精品欧美| 色国产精品一区在线观看| 日本va欧美va瓶| 国产精品色哟哟| 欧美精三区欧美精三区| 国产成人啪免费观看软件|