aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/sniffer.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/ng/sniffer.js')
-rw-r--r--src/ng/sniffer.js9
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),