aboutsummaryrefslogtreecommitdiffstats
path: root/src/Browser.js
diff options
context:
space:
mode:
authorVojta Jina2011-05-31 22:52:44 +0200
committerIgor Minar2011-06-02 10:50:39 -0700
commit50076b571da522cf6d2cb92c28519694727e9c31 (patch)
tree778d736825ca6b03784af7ce020ec7511a270dcc /src/Browser.js
parentaa64d37a23d743d325b9d95cd4725042cca430db (diff)
downloadangular.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.js4
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();