diff options
| author | Vojta Jina | 2011-05-31 22:52:44 +0200 |
|---|---|---|
| committer | Igor Minar | 2011-06-02 10:50:39 -0700 |
| commit | 50076b571da522cf6d2cb92c28519694727e9c31 (patch) | |
| tree | 778d736825ca6b03784af7ce020ec7511a270dcc /src/Browser.js | |
| parent | aa64d37a23d743d325b9d95cd4725042cca430db (diff) | |
| download | angular.js-50076b571da522cf6d2cb92c28519694727e9c31.tar.bz2 | |
Fix hashchange event on IE8 compatibility mode
Stupid IE8 in compatibility mode or in IE7 mode returns true for `('onhashchange' in window)`, but does not support hashchange event.
Closes #353
Diffstat (limited to 'src/Browser.js')
| -rw-r--r-- | src/Browser.js | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Browser.js b/src/Browser.js index 31f2c7f3..80cabe02 100644 --- a/src/Browser.js +++ b/src/Browser.js @@ -249,7 +249,9 @@ function Browser(window, document, body, XHR, $log) { * @return {function()} Returns the registered listener fn - handy if the fn is anonymous. */ self.onHashChange = function(listener) { - if ('onhashchange' in window) { + // IE8 comp mode returns true, but doesn't support hashchange event + var dm = window.document.documentMode; + if ('onhashchange' in window && (isUndefined(dm) || dm >= 8)) { jqLite(window).bind('hashchange', listener); } else { var lastBrowserUrl = self.getUrl(); |
