Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.el = function(element) {
  2.     if (element[0] == '#')
  3.         return document.getElementById(element.slice(1));
  4.     else if (element[0] == '.')
  5.         return document.getElementsByClassName(element.slice(1));
  6.     else
  7.         return document.getElementsByTagName(element);
  8. };
  9.  
  10. function Watcher() {
  11.     var that = this;
  12.  
  13.     this._objects = new Array;
  14.     this._watcher = function() {
  15.         for (var i = 0; i < that._objects.length; i++) {
  16.             var _object = that._objects[i];
  17.             if (_object.last !== _object.DOM.value) {
  18.                 _object.callback(_object.DOM.value, _object.last);
  19.                 that._objects[i].last = _object.DOM.value;
  20.             }
  21.         }
  22.     };
  23.     var watch = function(element, callback) {
  24.         this._objects.push({
  25.             last: element.value,
  26.             DOM: element,
  27.             callback: callback
  28.         });
  29.     };
  30.     setInterval(this._watcher, 10);
  31.     return watch.bind(this);
  32. }
  33.  
  34. window.http = {
  35.     _xml: function(method, uri, callback) {
  36.         var xml = new XMLHttpRequest();
  37.         xml.open(method, uri);
  38.         xml.onreadystatechange = function() {
  39.             if (xml.readyState !== 4)
  40.                 return;
  41.             (callback !== undefined) ? callback( JSON.parse(xml.responseText) ) : void 0;
  42.         };
  43.         return xml;
  44.     },
  45.  
  46.     /**
  47.         http.get
  48.         GET запрос на заданный URI
  49.             @uri - String. Адрес страницы
  50.             @data - Object. Данные для запроса (Необязательный параметр)
  51.             @callback - Function(response String). (Необязательный параметр)
  52.     */
  53.     get: function(uri, data, callback) {
  54.         var querystring = require('querystring');
  55.         var xml = this._xml('GET', uri + '?' + querystring.stringify(data), callback);
  56.         xml.send(null);
  57.     },
  58.  
  59.     /**
  60.         http.post
  61.         POST запрос на заданный URI
  62.             @uri - String. Адрес страницы
  63.             @data - Object. Данные для запроса (Необязательный параметр)
  64.             @callback - Function(response String). (Необязательный параметр)
  65.     */
  66.     post: function(uri, data, callback) {
  67.         var querystring = require('querystring');
  68.         var xml = this._xml('GET', uri, callback);
  69.         xml.send(data);
  70.     }
  71. };
  72.  
  73. window.watchDOM = new Watcher();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement