diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/location.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ng/location.js b/src/ng/location.js index 9bb4d417..85f780e2 100644 --- a/src/ng/location.js +++ b/src/ng/location.js @@ -178,6 +178,11 @@ function LocationHashbangUrl(appBase, hashPrefix) { throw $locationMinErr('ihshprfx', 'Invalid url "{0}", missing hash prefix "{1}".', url, hashPrefix); } + + if (withoutHashUrl === '' && withoutBaseUrl.charAt(0) === '?') { + withoutHashUrl = withoutBaseUrl; + } + parseAppUrl(withoutHashUrl, this, appBase); this.$$path = removeWindowsDriveName(this.$$path, withoutHashUrl, appBase); @@ -228,10 +233,14 @@ function LocationHashbangUrl(appBase, hashPrefix) { */ this.$$compose = function() { var search = toKeyValue(this.$$search), - hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : ''; + hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : '', + url = ''; this.$$url = encodePath(this.$$path) + (search ? '?' + search : '') + hash; - this.$$absUrl = appBase + (this.$$url ? hashPrefix + this.$$url : ''); + if (this.$$url) { + url = this.$$path ? hashPrefix + this.$$url : this.$$url; + } + this.$$absUrl = appBase + url; }; this.$$rewrite = function(url) { |
