From ef004897170b1a637f5e34f1e304b771acd7a344 Mon Sep 17 00:00:00 2001 From: quazzie Date: Fri, 22 Mar 2013 10:35:50 +0100 Subject: [PATCH] fix($location): fix back-button not triggering $locationChangeStart $locationChangeStart does not get broadcasted when pressing the back-button. Closes #2109 --- src/ng/location.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ng/location.js b/src/ng/location.js index 3196b1d57b7c..e99137d5cd4a 100644 --- a/src/ng/location.js +++ b/src/ng/location.js @@ -577,6 +577,10 @@ function $LocationProvider(){ // update $location when $browser url changes $browser.onUrlChange(function(newUrl) { if ($location.absUrl() != newUrl) { + if ($rootScope.$broadcast('$locationChangeStart', newUrl, $location.absUrl()).defaultPrevented) { + $browser.url($location.absUrl()); + return; + } $rootScope.$evalAsync(function() { var oldUrl = $location.absUrl();