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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? prototype.js

?? 類似youtube的視頻分享網(wǎng)站源碼。有后臺(tái)管理系統(tǒng)及模板
?? JS
?? 第 1 頁 / 共 4 頁
字號(hào):
var Prototype = {
  Version: '1.5.0_rc0',
  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',

  emptyFunction: function() {},
  K: function(x) {return x}
}

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

var Abstract = new Object();

Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}

Object.inspect = function(object) {
  try {
    if (object == undefined) return 'undefined';
    if (object == null) return 'null';
    return object.inspect ? object.inspect() : object.toString();
  } catch (e) {
    if (e instanceof RangeError) return '...';
    throw e;
  }
}

Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

Function.prototype.bindAsEventListener = function(object) {
  var __method = this;
  return function(event) {
    return __method.call(object, event || window.event);
  }
}

Object.extend(Number.prototype, {
  toColorPart: function() {
    var digits = this.toString(16);
    if (this < 16) return '0' + digits;
    return digits;
  },

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

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

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0; i < arguments.length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}

/*--------------------------------------------------------------------------*/

var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.callback();
      } finally {
        this.currentlyExecuting = false;
      }
    }
  }
}
Object.extend(String.prototype, {
  gsub: function(pattern, replacement) {
    var result = '', source = this, match;
    replacement = arguments.callee.prepareReplacement(replacement);

    while (source.length > 0) {
      if (match = source.match(pattern)) {
        result += source.slice(0, match.index);
        result += (replacement(match) || '').toString();
        source  = source.slice(match.index + match[0].length);
      } else {
        result += source, source = '';
      }
    }
    return result;
  },

  sub: function(pattern, replacement, count) {
    replacement = this.gsub.prepareReplacement(replacement);
    count = count === undefined ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  },

  scan: function(pattern, iterator) {
    this.gsub(pattern, iterator);
    return this;
  },

  truncate: function(length, truncation) {
    length = length || 30;
    truncation = truncation === undefined ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : this;
  },

  strip: function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  },

  extractScripts: function() {
    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(function(script) { return eval(script) });
  },

  escapeHTML: function() {
    var div = document.createElement('div');
    var text = document.createTextNode(this);
    div.appendChild(text);
    return div.innerHTML;
  },

  unescapeHTML: function() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
  },

  toQueryParams: function() {
    var pairs = this.match(/^\??(.*)$/)[1].split('&');
    return pairs.inject({}, function(params, pairString) {
      var pair = pairString.split('=');
      params[pair[0]] = pair[1];
      return params;
    });
  },

  toArray: function() {
    return this.split('');
  },

  camelize: function() {
    var oStringList = this.split('-');
    if (oStringList.length == 1) return oStringList[0];

    var camelizedString = this.indexOf('-') == 0
      ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
      : oStringList[0];

    for (var i = 1, len = oStringList.length; i < len; i++) {
      var s = oStringList[i];
      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
    }

    return camelizedString;
  },

  inspect: function() {
    return "'" + this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'') + "'";
  }
});

String.prototype.gsub.prepareReplacement = function(replacement) {
  if (typeof replacement == 'function') return replacement;
  var template = new Template(replacement);
  return function(match) { return template.evaluate(match) };
}

String.prototype.parseQuery = String.prototype.toQueryParams;

var Template = Class.create();
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype = {
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern  = pattern || Template.Pattern;
  },

  evaluate: function(object) {
    return this.template.gsub(this.pattern, function(match) {
      var before = match[1];
      if (before == '\\') return match[2];
      return before + (object[match[3]] || '').toString();
    });
  }
}

var $break    = new Object();
var $continue = new Object();

var Enumerable = {
  each: function(iterator) {
    var index = 0;
    try {
      this._each(function(value) {
        try {
          iterator(value, index++);
        } catch (e) {
          if (e != $continue) throw e;
        }
      });
    } catch (e) {
      if (e != $break) throw e;
    }
  },

  all: function(iterator) {
    var result = true;
    this.each(function(value, index) {
      result = result && !!(iterator || Prototype.K)(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator) {
    var result = true;
    this.each(function(value, index) {
      if (result = !!(iterator || Prototype.K)(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      results.push(iterator(value, index));
    });
    return results;
  },

  detect: function (iterator) {
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result = value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(pattern, iterator) {
    var results = [];
    this.each(function(value, index) {
      var stringValue = value.toString();
      if (stringValue.match(pattern))
        results.push((iterator || Prototype.K)(value, index));
    })
    return results;
  },

  include: function(object) {
    var found = false;
    this.each(function(value) {
      if (value == object) {
        found = true;
        throw $break;
      }
    });
    return found;
  },

  inject: function(memo, iterator) {
    this.each(function(value, index) {
      memo = iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args = $A(arguments).slice(1);
    return this.collect(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (result == undefined || value >= result)
        result = value;
    });
    return result;
  },

  min: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (result == undefined || value < result)
        result = value;
    });
    return result;
  },

  partition: function(iterator) {
    var trues = [], falses = [];
    this.each(function(value, index) {
      ((iterator || Prototype.K)(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results = [];
    this.each(function(value, index) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator) {
    return this.collect(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a = left.criteria, b = right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.collect(Prototype.K);
  },

  zip: function() {
    var iterator = Prototype.K, args = $A(arguments);
    if (typeof args.last() == 'function')
      iterator = args.pop();

    var collections = [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
}

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray
});
var $A = Array.from = function(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results = [];
    for (var i = 0; i < iterable.length; i++)
      results.push(iterable[i]);
    return results;
  }
}

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse)
  Array.prototype._reverse = Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i = 0; i < this.length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length = 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value != undefined || value != null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(value && value.constructor == Array ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values = $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  indexOf: function(object) {
    for (var i = 0; i < this.length; i++)
      if (this[i] == object) return i;
    return -1;
  },

  reverse: function(inline) {
    return (inline !== false ? this : this.toArray())._reverse();
  },

  inspect: function() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  }
});
var Hash = {
  _each: function(iterator) {
    for (var key in this) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产丝袜美腿一区二区三区| 国产一区二区在线视频| 亚洲日本韩国一区| 中文字幕视频一区| 亚洲色图第一区| 亚洲欧美日韩国产中文在线| 成人欧美一区二区三区黑人麻豆| 国产精品免费看片| 一区二区中文字幕在线| 亚洲欧美视频在线观看视频| 亚洲黄色性网站| 亚洲成av人片在线| 日韩av网站在线观看| 久久成人精品无人区| 韩国av一区二区| 国产超碰在线一区| 99久久精品国产麻豆演员表| 一道本成人在线| 欧美日韩激情在线| 欧美一二三区在线观看| 久久综合狠狠综合久久激情| 国产欧美日韩在线看| 中文字幕在线观看不卡视频| 亚洲精品久久久蜜桃| 日韩激情视频在线观看| 激情小说欧美图片| 91丝袜呻吟高潮美腿白嫩在线观看| 91免费国产在线| 欧美丰满嫩嫩电影| 国产亚洲人成网站| 一区二区在线观看视频| 人禽交欧美网站| 国产伦精品一区二区三区视频青涩| 高清在线成人网| 欧美日韩在线一区二区| 精品久久人人做人人爱| 亚洲人亚洲人成电影网站色| 青娱乐精品视频| 9久草视频在线视频精品| 欧美精品久久久久久久多人混战 | 欧美一区二区三区视频免费| 久久久一区二区三区| 亚洲免费在线电影| 蜜臀av一区二区三区| 91视频观看视频| 欧美本精品男人aⅴ天堂| 综合网在线视频| 激情综合色综合久久| 91社区在线播放| 日韩精品一区二区三区三区免费| 国产精品毛片久久久久久| 午夜在线成人av| 国产91露脸合集magnet | 日韩国产成人精品| 夫妻av一区二区| 9191久久久久久久久久久| 国产精品国产自产拍在线| 婷婷夜色潮精品综合在线| 丰满少妇在线播放bd日韩电影| 欧美日韩一区二区在线视频| 久久久久99精品一区| 日本欧美韩国一区三区| 91香蕉视频在线| 久久综合色婷婷| 婷婷开心久久网| 色狠狠综合天天综合综合| 久久久久久黄色| 日韩电影免费一区| 欧亚一区二区三区| 国产欧美一区二区在线| 日韩福利视频导航| 欧美色视频一区| 亚洲免费观看高清完整版在线观看| 国产一区二区三区四区五区美女 | 国产成人精品一区二区三区四区| 7777女厕盗摄久久久| 一区二区三区日本| 99国产精品一区| 中文字幕乱码日本亚洲一区二区| 美女网站在线免费欧美精品| 在线一区二区三区| 亚洲特黄一级片| 成人精品小蝌蚪| 久久久久亚洲蜜桃| 国产尤物一区二区| 日韩精品一区二区三区中文不卡| 婷婷六月综合网| 欧美午夜精品一区| 亚洲一区在线看| 91高清视频在线| 亚洲精品欧美专区| 色狠狠综合天天综合综合| 最新成人av在线| 色综合欧美在线| 亚洲美女电影在线| 一本久道久久综合中文字幕| 亚洲午夜久久久久久久久电影网| 91色porny在线视频| 国产精品理论在线观看| 99精品视频在线观看免费| 亚洲欧美日韩一区二区| 91国偷自产一区二区使用方法| 亚洲精品高清在线观看| 色综合一区二区| 尤物在线观看一区| 欧美熟乱第一页| 午夜电影网一区| 日韩女同互慰一区二区| 国产自产2019最新不卡| 国产欧美日韩视频一区二区| 成人中文字幕在线| 国产精品久久久久久久久晋中 | 国产中文字幕一区| 精品国产电影一区二区| 国产大陆a不卡| 国产婷婷色一区二区三区四区| 国产精一区二区三区| 国产精品美女久久久久久久久久久| gogo大胆日本视频一区| 亚洲色图清纯唯美| 欧美猛男gaygay网站| 日韩不卡一二三区| 久久久天堂av| 色天使色偷偷av一区二区| 亚洲一级二级三级| 日韩精品中文字幕一区二区三区| 国产一区在线视频| 亚洲天堂成人网| 欧美一区二区三区精品| 国产福利91精品一区| 自拍偷在线精品自拍偷无码专区 | 日韩美女在线视频| 国产 欧美在线| 亚洲最大色网站| 精品理论电影在线| 91小视频在线观看| 久久精品国内一区二区三区 | 国产乱码精品一区二区三区av| 国产精品丝袜久久久久久app| 日本道免费精品一区二区三区| 爽好多水快深点欧美视频| 国产欧美日韩精品一区| 欧美日韩精品一区二区天天拍小说 | 国产麻豆精品在线观看| 亚洲日本在线a| 日韩一区二区中文字幕| 成人涩涩免费视频| 亚洲v中文字幕| 亚洲国产电影在线观看| 欧美群妇大交群中文字幕| 国产成人精品三级| 亚洲国产婷婷综合在线精品| 久久嫩草精品久久久精品| 欧美亚洲综合在线| 国产一区二区在线视频| 亚洲成精国产精品女| 国产精品丝袜一区| 精品毛片乱码1区2区3区| 欧美午夜精品免费| 99在线热播精品免费| 精品一区二区在线免费观看| 亚洲线精品一区二区三区八戒| 国产亚洲综合av| 91精品国产色综合久久ai换脸| 99久久精品免费看| 国产精品一区二区久久不卡| 天使萌一区二区三区免费观看| 国产精品九色蝌蚪自拍| 精品88久久久久88久久久| 欧美性xxxxxxxx| 91在线视频播放地址| 国产乱码精品1区2区3区| 日韩av电影免费观看高清完整版 | 日韩欧美一区二区视频| 色久综合一二码| 成人免费观看男女羞羞视频| 麻豆精品一区二区av白丝在线| 一区二区三区视频在线观看| 久久综合色天天久久综合图片| 91精品国产高清一区二区三区| 日本道在线观看一区二区| 成人三级在线视频| 国产乱一区二区| 精品一二三四区| 奇米四色…亚洲| 日韩高清一级片| 午夜电影网一区| 香蕉久久一区二区不卡无毒影院| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品欧美久久久久无广告| 精品免费视频.| 日韩欧美电影一区| 欧美电影免费观看高清完整版在线| 欧美精品在线观看播放| 欧美视频你懂的| 欧美日韩国产综合一区二区三区 | 久久久久久久综合日本| 精品福利在线导航| 久久免费视频一区| 久久新电视剧免费观看|