⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prototype.js

📁 WordPress是一个Blog程序,用它你可以架设完全属于你自己的Blog. 而WordPress现在的应用又不仅仅只是在Blog方面,因为其强大的扩展性,部分网站甚至已经开始使用WordPress
💻 JS
📖 第 1 页 / 共 5 页
字号:
  getStatusText: function() {    try {      return this.transport.statusText || '';    } catch (e) { return '' }  },  getHeader: Ajax.Request.prototype.getHeader,  getAllHeaders: function() {    try {      return this.getAllResponseHeaders();    } catch (e) { return null }  },  getResponseHeader: function(name) {    return this.transport.getResponseHeader(name);  },  getAllResponseHeaders: function() {    return this.transport.getAllResponseHeaders();  },  _getHeaderJSON: function() {    var json = this.getHeader('X-JSON');    if (!json) return null;    json = decodeURIComponent(escape(json));    try {      return json.evalJSON(this.request.options.sanitizeJSON);    } catch (e) {      this.request.dispatchException(e);    }  },  _getResponseJSON: function() {    var options = this.request.options;    if (!options.evalJSON || (options.evalJSON != 'force' &&      !(this.getHeader('Content-type') || '').include('application/json')))        return null;    try {      return this.transport.responseText.evalJSON(options.sanitizeJSON);    } catch (e) {      this.request.dispatchException(e);    }  }});Ajax.Updater = Class.create(Ajax.Request, {  initialize: function($super, container, url, options) {    this.container = {      success: (container.success || container),      failure: (container.failure || (container.success ? null : container))    };    options = options || { };    var onComplete = options.onComplete;    options.onComplete = (function(response, param) {      this.updateContent(response.responseText);      if (Object.isFunction(onComplete)) onComplete(response, param);    }).bind(this);    $super(url, options);  },  updateContent: function(responseText) {    var receiver = this.container[this.success() ? 'success' : 'failure'],        options = this.options;    if (!options.evalScripts) responseText = responseText.stripScripts();    if (receiver = $(receiver)) {      if (options.insertion) {        if (Object.isString(options.insertion)) {          var insertion = { }; insertion[options.insertion] = responseText;          receiver.insert(insertion);        }        else options.insertion(receiver, responseText);      }      else receiver.update(responseText);    }    if (this.success()) {      if (this.onComplete) this.onComplete.bind(this).defer();    }  }});Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {  initialize: function($super, container, url, options) {    $super(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.options.onComplete = undefined;    clearTimeout(this.timer);    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);  },  updateComplete: function(response) {    if (this.options.decay) {      this.decay = (response.responseText == this.lastText ?        this.decay * this.options.decay : 1);      this.lastText = response.responseText;    }    this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);  },  onTimerEvent: function() {    this.updater = new Ajax.Updater(this.container, this.url, this.options);  }});function $(element) {  if (arguments.length > 1) {    for (var i = 0, elements = [], length = arguments.length; i < length; i++)      elements.push($(arguments[i]));    return elements;  }  if (Object.isString(element))    element = document.getElementById(element);  return Element.extend(element);}if (Prototype.BrowserFeatures.XPath) {  document._getElementsByXPath = function(expression, parentElement) {    var results = [];    var query = document.evaluate(expression, $(parentElement) || document,      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);    for (var i = 0, length = query.snapshotLength; i < length; i++)      results.push(Element.extend(query.snapshotItem(i)));    return results;  };}/*--------------------------------------------------------------------------*/if (!window.Node) var Node = { };if (!Node.ELEMENT_NODE) {  // DOM level 2 ECMAScript Language Binding  Object.extend(Node, {    ELEMENT_NODE: 1,    ATTRIBUTE_NODE: 2,    TEXT_NODE: 3,    CDATA_SECTION_NODE: 4,    ENTITY_REFERENCE_NODE: 5,    ENTITY_NODE: 6,    PROCESSING_INSTRUCTION_NODE: 7,    COMMENT_NODE: 8,    DOCUMENT_NODE: 9,    DOCUMENT_TYPE_NODE: 10,    DOCUMENT_FRAGMENT_NODE: 11,    NOTATION_NODE: 12  });}(function() {  var element = this.Element;  this.Element = function(tagName, attributes) {    attributes = attributes || { };    tagName = tagName.toLowerCase();    var cache = Element.cache;    if (Prototype.Browser.IE && attributes.name) {      tagName = '<' + tagName + ' name="' + attributes.name + '">';      delete attributes.name;      return Element.writeAttribute(document.createElement(tagName), attributes);    }    if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));    return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);  };  Object.extend(this.Element, element || { });}).call(window);Element.cache = { };Element.Methods = {  visible: function(element) {    return $(element).style.display != 'none';  },  toggle: function(element) {    element = $(element);    Element[Element.visible(element) ? 'hide' : 'show'](element);    return element;  },  hide: function(element) {    $(element).style.display = 'none';    return element;  },  show: function(element) {    $(element).style.display = '';    return element;  },  remove: function(element) {    element = $(element);    element.parentNode.removeChild(element);    return element;  },  update: function(element, content) {    element = $(element);    if (content && content.toElement) content = content.toElement();    if (Object.isElement(content)) return element.update().insert(content);    content = Object.toHTML(content);    element.innerHTML = content.stripScripts();    content.evalScripts.bind(content).defer();    return element;  },  replace: function(element, content) {    element = $(element);    if (content && content.toElement) content = content.toElement();    else if (!Object.isElement(content)) {      content = Object.toHTML(content);      var range = element.ownerDocument.createRange();      range.selectNode(element);      content.evalScripts.bind(content).defer();      content = range.createContextualFragment(content.stripScripts());    }    element.parentNode.replaceChild(content, element);    return element;  },  insert: function(element, insertions) {    element = $(element);    if (Object.isString(insertions) || Object.isNumber(insertions) ||        Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))          insertions = {bottom:insertions};    var content, t, range;    for (position in insertions) {      content  = insertions[position];      position = position.toLowerCase();      t = Element._insertionTranslations[position];      if (content && content.toElement) content = content.toElement();      if (Object.isElement(content)) {        t.insert(element, content);        continue;      }      content = Object.toHTML(content);      range = element.ownerDocument.createRange();      t.initializeRange(element, range);      t.insert(element, range.createContextualFragment(content.stripScripts()));      content.evalScripts.bind(content).defer();    }    return element;  },  wrap: function(element, wrapper, attributes) {    element = $(element);    if (Object.isElement(wrapper))      $(wrapper).writeAttribute(attributes || { });    else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);    else wrapper = new Element('div', wrapper);    if (element.parentNode)      element.parentNode.replaceChild(wrapper, element);    wrapper.appendChild(element);    return wrapper;  },  inspect: function(element) {    element = $(element);    var result = '<' + element.tagName.toLowerCase();    $H({'id': 'id', 'className': 'class'}).each(function(pair) {      var property = pair.first(), attribute = pair.last();      var value = (element[property] || '').toString();      if (value) result += ' ' + attribute + '=' + value.inspect(true);    });    return result + '>';  },  recursivelyCollect: function(element, property) {    element = $(element);    var elements = [];    while (element = element[property])      if (element.nodeType == 1)        elements.push(Element.extend(element));    return elements;  },  ancestors: function(element) {    return $(element).recursivelyCollect('parentNode');  },  descendants: function(element) {    return $A($(element).getElementsByTagName('*')).each(Element.extend);  },  firstDescendant: function(element) {    element = $(element).firstChild;    while (element && element.nodeType != 1) element = element.nextSibling;    return $(element);  },  immediateDescendants: function(element) {    if (!(element = $(element).firstChild)) return [];    while (element && element.nodeType != 1) element = element.nextSibling;    if (element) return [element].concat($(element).nextSiblings());    return [];  },  previousSiblings: function(element) {    return $(element).recursivelyCollect('previousSibling');  },  nextSiblings: function(element) {    return $(element).recursivelyCollect('nextSibling');  },  siblings: function(element) {    element = $(element);    return element.previousSiblings().reverse().concat(element.nextSiblings());  },  match: function(element, selector) {    if (Object.isString(selector))      selector = new Selector(selector);    return selector.match($(element));  },  up: function(element, expression, index) {    element = $(element);    if (arguments.length == 1) return $(element.parentNode);    var ancestors = element.ancestors();    return expression ? Selector.findElement(ancestors, expression, index) :      ancestors[index || 0];  },  down: function(element, expression, index) {    element = $(element);    if (arguments.length == 1) return element.firstDescendant();    var descendants = element.descendants();    return expression ? Selector.findElement(descendants, expression, index) :      descendants[index || 0];  },  previous: function(element, expression, index) {    element = $(element);    if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));    var previousSiblings = element.previousSiblings();    return expression ? Selector.findElement(previousSiblings, expression, index) :      previousSiblings[index || 0];  },  next: function(element, expression, index) {    element = $(element);    if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));    var nextSiblings = element.nextSiblings();    return expression ? Selector.findElement(nextSiblings, expression, index) :      nextSiblings[index || 0];  },  select: function() {    var args = $A(arguments), element = $(args.shift());    return Selector.findChildElements(element, args);  },  adjacent: function() {    var args = $A(arguments), element = $(args.shift());    return Selector.findChildElements(element.parentNode, args).without(element);  },  identify: function(element) {    element = $(element);    var id = element.readAttribute('id'), self = arguments.callee;    if (id) return id;    do { id = 'anonymous_element_' + self.counter++ } while ($(id));    element.writeAttribute('id', id);    return id;  },  readAttribute: function(element, name) {    element = $(element);    if (Prototype.Browser.IE) {      var t = Element._attributeTranslations.read;      if (t.values[name]) return t.values[name](element, name);      if (t.names[name]) name = t.names[name];      if (name.include(':')) {        return (!element.attributes || !element.attributes[name]) ? null :         element.attributes[name].value;      }    }    return element.getAttribute(name);  },  writeAttribute: function(element, name, value) {    element = $(element);    var attributes = { }, t = Element._attributeTranslations.write;    if (typeof name == 'object') attributes = name;    else attributes[name] = value === undefined ? true : value;    for (var attr in attributes) {      var name = t.names[attr] || attr, value = attributes[attr];      if (t.values[attr]) name = t.values[attr](element, value);      if (value === false || value === null)        element.removeAttribute(name);      else if (value === true)        element.setAttribute(name, name);      else element.setAttribute(name, value);    }    return element;  },  getHeight: function(element) {    return $(element).getDimensions().height;  },  getWidth: function(element) {    return $(element).getDimensions().width;  },  classNames: function(element) {    return new Element.ClassNames(element);  },  hasClassName: function(element, className) {    if (!(element = $(element))) return;    var elementClassName = element.className;    return (elementClassName.length > 0 && (elementClassName == className ||      new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));  },  addClassName: function(element, className) {    if (!(element = $(element))) return;    if (!element.hasClassName(className))      element.className += (element.className ? ' ' : '') + className;    return element;  },  removeClassName: function(element, className) {    if (!(element = $(element))) return;    element.className = element.className.replace(      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();    return element;  },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -