diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/sniffer.js | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index b19e7ccf..0b116e27 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -14,10 +14,15 @@   */  function $SnifferProvider() {    this.$get = ['$window', function($window) { -    var eventSupport = {}; +    var eventSupport = {}, +        android = int((/android (\d+)/.exec(lowercase($window.navigator.userAgent)) || [])[1]);      return { -      history: !!($window.history && $window.history.pushState), +      // Android has history.pushState, but it does not update location correctly +      // so let's not use the history API at all. +      // http://code.google.com/p/android/issues/detail?id=17471 +      // https://github.com/angular/angular.js/issues/904 +      history: !!($window.history && $window.history.pushState && !(android < 4)),        hashchange: 'onhashchange' in $window &&                    // IE8 compatible mode lies                    (!$window.document.documentMode || $window.document.documentMode > 7), | 
