From 50076b571da522cf6d2cb92c28519694727e9c31 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Tue, 31 May 2011 22:52:44 +0200 Subject: 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 --- src/Browser.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Browser.js') 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(); -- cgit v1.2.3