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(); | 
