mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
bug(html5 navigation): broken in Opera
http://my.opera.com/community/forums/topic.dml?id=1185462 Closes# 938
This commit is contained in:
parent
f76474823a
commit
b99f65f64d
1 changed files with 8 additions and 3 deletions
|
|
@ -123,7 +123,8 @@ function Browser(window, document, $log, $sniffer) {
|
|||
// URL API
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
var lastBrowserUrl = location.href;
|
||||
var lastBrowserUrl = location.href,
|
||||
baseElement = document.find('base');
|
||||
|
||||
/**
|
||||
* @ngdoc method
|
||||
|
|
@ -152,7 +153,11 @@ function Browser(window, document, $log, $sniffer) {
|
|||
lastBrowserUrl = url;
|
||||
if ($sniffer.history) {
|
||||
if (replace) history.replaceState(null, '', url);
|
||||
else history.pushState(null, '', url);
|
||||
else {
|
||||
history.pushState(null, '', url);
|
||||
// Crazy Opera Bug: http://my.opera.com/community/forums/topic.dml?id=1185462
|
||||
baseElement.attr('href', baseElement.attr('href'));
|
||||
}
|
||||
} else {
|
||||
if (replace) location.replace(url);
|
||||
else location.href = url;
|
||||
|
|
@ -231,7 +236,7 @@ function Browser(window, document, $log, $sniffer) {
|
|||
* @returns {string=}
|
||||
*/
|
||||
self.baseHref = function() {
|
||||
var href = document.find('base').attr('href');
|
||||
var href = baseElement.attr('href');
|
||||
return href ? href.replace(/^https?\:\/\/[^\/]*/, '') : href;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue