mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-06-02 19:42:35 +08:00
fix(browser): prevent ie from getting into redirect loop
Closes #1075 Closes #1079 Closes #1085
This commit is contained in:
@@ -149,6 +149,7 @@ function Browser(window, document, $log, $sniffer) {
|
||||
self.url = function(url, replace) {
|
||||
// setter
|
||||
if (url) {
|
||||
if (lastBrowserUrl == url) return;
|
||||
lastBrowserUrl = url;
|
||||
if ($sniffer.history) {
|
||||
if (replace) history.replaceState(null, '', url);
|
||||
|
||||
@@ -468,6 +468,14 @@ describe('browser', function() {
|
||||
fakeWindow.location.href = "http://ff-bug/?single%27quote";
|
||||
expect(browser.url()).toBe("http://ff-bug/?single'quote");
|
||||
});
|
||||
|
||||
it('should not set URL when the URL is already set', function() {
|
||||
var current = fakeWindow.location.href;
|
||||
sniffer.history = false;
|
||||
fakeWindow.location.href = 'dontchange';
|
||||
browser.url(current);
|
||||
expect(fakeWindow.location.href).toBe('dontchange');
|
||||
});
|
||||
});
|
||||
|
||||
describe('urlChange', function() {
|
||||
|
||||
Reference in New Issue
Block a user