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

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

?? prototype.js

?? struts2結合ext參數傳遞
?? JS
?? 第 1 頁 / 共 5 頁
字號:
      return array.detect(function(value) { return item === value });
    });
  },

  clone: function() {
    return [].concat(this);
  },

  size: function() {
    return this.length;
  },

  inspect: function() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  },

  toJSON: function() {
    var results = [];
    this.each(function(object) {
      var value = Object.toJSON(object);
      if (!Object.isUndefined(value)) results.push(value);
    });
    return '[' + results.join(', ') + ']';
  }
});

// use native browser JS 1.6 implementation if available
if (Object.isFunction(Array.prototype.forEach))
  Array.prototype._each = Array.prototype.forEach;

if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
  i || (i = 0);
  var length = this.length;
  if (i < 0) i = length + i;
  for (; i < length; i++)
    if (this[i] === item) return i;
  return -1;
};

if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
  i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
  var n = this.slice(0, i).reverse().indexOf(item);
  return (n < 0) ? n : i - n - 1;
};

Array.prototype.toArray = Array.prototype.clone;

function $w(string) {
  if (!Object.isString(string)) return [];
  string = string.strip();
  return string ? string.split(/\s+/) : [];
}

if (Prototype.Browser.Opera){
  Array.prototype.concat = function() {
    var array = [];
    for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
    for (var i = 0, length = arguments.length; i < length; i++) {
      if (Object.isArray(arguments[i])) {
        for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
          array.push(arguments[i][j]);
      } else {
        array.push(arguments[i]);
      }
    }
    return array;
  };
}
Object.extend(Number.prototype, {
  toColorPart: function() {
    return this.toPaddedString(2, 16);
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  },

  toPaddedString: function(length, radix) {
    var string = this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  },

  toJSON: function() {
    return isFinite(this) ? this.toString() : 'null';
  }
});

$w('abs round ceil floor').each(function(method){
  Number.prototype[method] = Math[method].methodize();
});
function $H(object) {
  return new Hash(object);
};

var Hash = Class.create(Enumerable, (function() {

  function toQueryPair(key, value) {
    if (Object.isUndefined(value)) return key;
    return key + '=' + encodeURIComponent(String.interpret(value));
  }

  return {
    initialize: function(object) {
      this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
    },

    _each: function(iterator) {
      for (var key in this._object) {
        var value = this._object[key], pair = [key, value];
        pair.key = key;
        pair.value = value;
        iterator(pair);
      }
    },

    set: function(key, value) {
      return this._object[key] = value;
    },

    get: function(key) {
      return this._object[key];
    },

    unset: function(key) {
      var value = this._object[key];
      delete this._object[key];
      return value;
    },

    toObject: function() {
      return Object.clone(this._object);
    },

    keys: function() {
      return this.pluck('key');
    },

    values: function() {
      return this.pluck('value');
    },

    index: function(value) {
      var match = this.detect(function(pair) {
        return pair.value === value;
      });
      return match && match.key;
    },

    merge: function(object) {
      return this.clone().update(object);
    },

    update: function(object) {
      return new Hash(object).inject(this, function(result, pair) {
        result.set(pair.key, pair.value);
        return result;
      });
    },

    toQueryString: function() {
      return this.map(function(pair) {
        var key = encodeURIComponent(pair.key), values = pair.value;

        if (values && typeof values == 'object') {
          if (Object.isArray(values))
            return values.map(toQueryPair.curry(key)).join('&');
        }
        return toQueryPair(key, values);
      }).join('&');
    },

    inspect: function() {
      return '#<Hash:{' + this.map(function(pair) {
        return pair.map(Object.inspect).join(': ');
      }).join(', ') + '}>';
    },

    toJSON: function() {
      return Object.toJSON(this.toObject());
    },

    clone: function() {
      return new Hash(this);
    }
  }
})());

Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
Hash.from = $H;
var ObjectRange = Class.create(Enumerable, {
  initialize: function(start, end, exclusive) {
    this.start = start;
    this.end = end;
    this.exclusive = exclusive;
  },

  _each: function(iterator) {
    var value = this.start;
    while (this.include(value)) {
      iterator(value);
      value = value.succ();
    }
  },

  include: function(value) {
    if (value < this.start)
      return false;
    if (this.exclusive)
      return value < this.end;
    return value <= this.end;
  }
});

var $R = function(start, end, exclusive) {
  return new ObjectRange(start, end, exclusive);
};

var Ajax = {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
};

Ajax.Responders = {
  responders: [],

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

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

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

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (Object.isFunction(responder[callback])) {
        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-- }
});

Ajax.Base = Class.create({
  initialize: function(options) {
    this.options = {
      method:       'post',
      asynchronous: true,
      contentType:  'application/x-www-form-urlencoded',
      encoding:     'UTF-8',
      parameters:   '',
      evalJSON:     true,
      evalJS:       true
    };
    Object.extend(this.options, options || { });

    this.options.method = this.options.method.toLowerCase();

    if (Object.isString(this.options.parameters))
      this.options.parameters = this.options.parameters.toQueryParams();
    else if (Object.isHash(this.options.parameters))
      this.options.parameters = this.options.parameters.toObject();
  }
});

Ajax.Request = Class.create(Ajax.Base, {
  _complete: false,

  initialize: function($super, url, options) {
    $super(options);
    this.transport = Ajax.getTransport();
    this.request(url);
  },

  request: function(url) {
    this.url = url;
    this.method = this.options.method;
    var params = Object.clone(this.options.parameters);

    if (!['get', 'post'].include(this.method)) {
      // simulate other verbs over post
      params['_method'] = this.method;
      this.method = 'post';
    }

    this.parameters = params;

    if (params = Object.toQueryString(params)) {
      // when GET, append parameters to URL
      if (this.method == 'get')
        this.url += (this.url.include('?') ? '&' : '?') + params;
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
        params += '&_=';
    }

    try {
      var response = new Ajax.Response(this);
      if (this.options.onCreate) this.options.onCreate(response);
      Ajax.Responders.dispatch('onCreate', this, response);

      this.transport.open(this.method.toUpperCase(), this.url,
        this.options.asynchronous);

      if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);

      this.transport.onreadystatechange = this.onStateChange.bind(this);
      this.setRequestHeaders();

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

      /* Force Firefox to handle ready state 4 for synchronous requests */
      if (!this.options.asynchronous && this.transport.overrideMimeType)
        this.onStateChange();

    }
    catch (e) {
      this.dispatchException(e);
    }
  },

  onStateChange: function() {
    var readyState = this.transport.readyState;
    if (readyState > 1 && !((readyState == 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
  },

  setRequestHeaders: function() {
    var headers = {
      'X-Requested-With': 'XMLHttpRequest',
      'X-Prototype-Version': Prototype.Version,
      'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
    };

    if (this.method == 'post') {
      headers['Content-type'] = this.options.contentType +
        (this.options.encoding ? '; charset=' + this.options.encoding : '');

      /* Force "Connection: close" for older Mozilla browsers to work
       * around a bug where XMLHttpRequest sends an incorrect
       * Content-length header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType &&
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
            headers['Connection'] = 'close';
    }

    // user-defined headers
    if (typeof this.options.requestHeaders == 'object') {
      var extras = this.options.requestHeaders;

      if (Object.isFunction(extras.push))
        for (var i = 0, length = extras.length; i < length; i += 2)
          headers[extras[i]] = extras[i+1];
      else
        $H(extras).each(function(pair) { headers[pair.key] = pair.value });
    }

    for (var name in headers)
      this.transport.setRequestHeader(name, headers[name]);
  },

  success: function() {
    var status = this.getStatus();
    return !status || (status >= 200 && status < 300);
  },

  getStatus: function() {
    try {
      return this.transport.status || 0;
    } catch (e) { return 0 }
  },

  respondToReadyState: function(readyState) {
    var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);

    if (state == 'Complete') {
      try {
        this._complete = true;
        (this.options['on' + response.status]
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]
         || Prototype.emptyFunction)(response, response.headerJSON);
      } catch (e) {
        this.dispatchException(e);
      }

      var contentType = response.getHeader('Content-type');
      if (this.options.evalJS == 'force'
          || (this.options.evalJS && this.isSameOrigin() && contentType
          && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
        this.evalResponse();
    }

    try {
      (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
      Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
    } catch (e) {
      this.dispatchException(e);
    }

    if (state == 'Complete') {
      // avoid memory leak in MSIE: clean up
      this.transport.onreadystatechange = Prototype.emptyFunction;
    }
  },

  isSameOrigin: function() {
    var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
    return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
      protocol: location.protocol,
      domain: document.domain,
      port: location.port ? ':' + location.port : ''
    }));
  },

  getHeader: function(name) {
    try {
      return this.transport.getResponseHeader(name) || null;
    } catch (e) { return null }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av网站在线观看免费| 国产精品毛片高清在线完整版 | 亚洲妇熟xx妇色黄| 亚洲成人免费看| 国产一区二区三区美女| 99综合电影在线视频| 欧美肥妇bbw| 日本一区二区三区电影| 一级做a爱片久久| 国产在线不卡视频| 欧美在线看片a免费观看| 精品免费日韩av| 亚洲激情第一区| 韩国精品久久久| 在线视频亚洲一区| 久久久五月婷婷| 亚洲国产精品精华液网站| 国产精品1024| 欧美日韩国产片| 国产精品国产成人国产三级| 青青草国产成人av片免费| 不卡一区二区在线| 欧美成人三级在线| 亚洲一区二三区| 成人爽a毛片一区二区免费| 91精品国产aⅴ一区二区| 亚洲欧美日韩一区| 国产成人超碰人人澡人人澡| 9191成人精品久久| 亚洲精品日日夜夜| 国产91精品精华液一区二区三区| 欧美群妇大交群中文字幕| 国产精品免费网站在线观看| 美女脱光内衣内裤视频久久网站| 色噜噜偷拍精品综合在线| 2020国产精品| 日韩vs国产vs欧美| 在线免费观看日本欧美| 中文字幕av免费专区久久| 九九视频精品免费| 欧美精品少妇一区二区三区| 亚洲另类春色国产| www.亚洲精品| 国产色婷婷亚洲99精品小说| 蜜臀精品一区二区三区在线观看| 在线一区二区视频| 综合色中文字幕| 成人动漫视频在线| 国产欧美一区二区三区在线看蜜臀| 一本一本大道香蕉久在线精品| 久久久久国产免费免费| 久久99精品一区二区三区三区| 欧美电影在线免费观看| 悠悠色在线精品| 91碰在线视频| 亚洲三级电影网站| www..com久久爱| 国产精品二三区| 国产精品白丝jk白祙喷水网站| 精品国产免费一区二区三区四区 | 欧美视频精品在线观看| 亚洲欧美另类久久久精品 | 亚洲久本草在线中文字幕| 成人av资源在线| 国产精品国产馆在线真实露脸| 成人午夜激情视频| 中文字幕不卡三区| 成人av先锋影音| 亚洲色图20p| 色偷偷一区二区三区| 亚洲免费大片在线观看| 日本高清不卡一区| 亚洲线精品一区二区三区八戒| 在线视频一区二区免费| 亚洲国产视频在线| 欧美顶级少妇做爰| 免费不卡在线观看| 精品国产欧美一区二区| 国产传媒欧美日韩成人| 中文字幕成人在线观看| 91污在线观看| 亚洲一区二区三区不卡国产欧美| 在线观看日韩av先锋影音电影院| 亚洲国产一区二区三区青草影视| 欧美日韩国产大片| 蜜桃一区二区三区在线观看| 精品国产免费久久| 国产成人在线网站| 亚洲欧美日韩中文字幕一区二区三区| 91麻豆成人久久精品二区三区| 亚洲黄色免费网站| 777奇米四色成人影色区| 九一九一国产精品| 国产精品污www在线观看| 色综合中文字幕国产| 亚洲精品ww久久久久久p站| 欧美日韩精品一区二区三区四区 | 精品黑人一区二区三区久久 | 国产精品情趣视频| 色中色一区二区| 日韩av在线播放中文字幕| 欧美电影免费观看完整版| 国产福利精品一区二区| 亚洲色图色小说| 8v天堂国产在线一区二区| 国产伦精品一区二区三区免费| 国产精品久久久久aaaa樱花| 色88888久久久久久影院按摩 | 欧美成人官网二区| 成人精品免费视频| 午夜精品一区二区三区电影天堂 | 国产精品99久久久久久久女警 | 色94色欧美sute亚洲13| 奇米精品一区二区三区在线观看 | 在线视频中文字幕一区二区| 免费看欧美美女黄的网站| 国产精品午夜电影| 欧美日韩高清一区二区不卡| 国产一区二区成人久久免费影院 | 欧美日韩一级视频| 国产一区在线视频| 一区二区三区免费| 2021久久国产精品不只是精品| 色综合久久88色综合天天 | 中文字幕精品一区| 欧美二区在线观看| 不卡欧美aaaaa| 日韩国产欧美一区二区三区| 国产精品乱码人人做人人爱| 欧美伦理影视网| 99国产一区二区三精品乱码| 日韩国产欧美在线观看| 亚洲视频一二三| 精品88久久久久88久久久| 欧美性生活久久| 国产99久久久精品| 美女爽到高潮91| 亚洲精品老司机| 国产区在线观看成人精品| 欧美精品自拍偷拍| 91农村精品一区二区在线| 国产在线观看一区二区| 图片区小说区国产精品视频| 国产精品每日更新在线播放网址| 日韩欧美你懂的| 欧美撒尿777hd撒尿| av资源站一区| 国模娜娜一区二区三区| 天天操天天干天天综合网| 亚洲乱码国产乱码精品精小说| 久久午夜羞羞影院免费观看| 亚洲乱码中文字幕| 国产欧美日韩不卡免费| 日韩三级视频在线看| 在线免费不卡视频| 成人黄色在线看| 国产高清精品在线| 久88久久88久久久| 日韩精品国产精品| 亚洲国产成人va在线观看天堂| 亚洲欧洲精品一区二区三区| 国产日产欧美一区| 久久亚洲精品国产精品紫薇| 日韩三级高清在线| 欧美日本免费一区二区三区| 在线免费视频一区二区| 99久久伊人精品| av不卡免费在线观看| 大陆成人av片| 成人激情动漫在线观看| 国产成人日日夜夜| 国产福利一区二区三区在线视频| 精品一区二区三区久久| 九色综合国产一区二区三区| 久久激情综合网| 热久久久久久久| 美女一区二区在线观看| 美女精品自拍一二三四| 久久9热精品视频| 九色porny丨国产精品| 精品一区二区av| 国产一区二区精品久久91| 国产麻豆欧美日韩一区| 国产一区二区调教| 国产一区二区三区黄视频| 国产很黄免费观看久久| 国产精品亚洲一区二区三区在线 | 自拍偷拍欧美精品| 亚洲欧美日韩国产综合在线| 亚洲色图制服丝袜| 亚洲精品久久久久久国产精华液| 亚洲精品国久久99热| 亚洲精品综合在线| 亚洲亚洲人成综合网络| 日韩中文字幕av电影| 蜜臀av一级做a爰片久久| 极品瑜伽女神91| 成人av电影免费在线播放| 色婷婷亚洲精品| 欧美日韩国产中文|