diff options
| author | Misko Hevery | 2010-04-05 11:46:53 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-04-05 11:46:53 -0700 |
| commit | 7a4b48020688060debe9cb0f9c17615d7585cbe7 (patch) | |
| tree | 48a5b1d8cf92bb272028a106ab9ea3ec16f477a2 /src/Browser.js | |
| parent | 4bfa4e230d5ebdd582068effe7f4f1b60c43093a (diff) | |
| download | angular.js-7a4b48020688060debe9cb0f9c17615d7585cbe7.tar.bz2 | |
added ng:switch widget
Diffstat (limited to 'src/Browser.js')
| -rw-r--r-- | src/Browser.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Browser.js b/src/Browser.js index 893459ae..6036884f 100644 --- a/src/Browser.js +++ b/src/Browser.js @@ -3,9 +3,10 @@ // Browser ////////////////////////////// -function Browser(location) { +function Browser(location, XHR) { this.location = location; this.delay = 25; + this.XHR = XHR; this.setTimeout = function(fn, delay) { window.setTimeout(fn, delay); }; @@ -14,6 +15,17 @@ function Browser(location) { } Browser.prototype = { + xhr: function(method, url, callback){ + var xhr = new this.XHR(); + xhr.open(method, url, true); + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + callback(xhr.status, xhr.responseText); + } + }; + xhr.send(''); + }, + watchUrl: function(fn){ this.listeners.push(fn); }, @@ -23,7 +35,11 @@ Browser.prototype = { (function pull () { if (self.expectedUrl !== self.location.href) { foreach(self.listeners, function(listener){ - listener(self.location.href); + try { + listener(self.location.href); + } catch (e) { + error(e); + } }); self.expectedUrl = self.location.href; } |
