Link 到“/”仅在某些浏览器中有效
Link to "/" works in some browsers only
此 link 不适用于我的 angularjs 单页应用程序中的所有浏览器。
<a href="/">homepage</a>
根据浏览器的不同,url 会有所不同。在某些浏览器中,url 以尾随“/#”结尾,而其他浏览器以“/#/”结尾,例如“http://localhost/#" and "http://localhost/#/”。这意味着在非 IE 浏览器中,以 /# 结尾的请求无法加载 ViewA
这是我的路线提供商:
mainApp.config(["$routeProvider",
function ($routeProvider) {
$routeProvider
.when("/", {
templateUrl: "Views/ViewA.html"
})
.when("/home", {
templateUrl: "Views/ViewB.html"
})
.otherwise({
redirectTo: "/"
});
}]);
有没有办法让浏览器的行为相同?参考图书馆?
我唯一的参考呃:
angular.js
angular-route.js
我想你的主播应该是:
<a href="/#/">homepage</a>
我建议你看看类似问题的答案here
主要取决于angular你想使用的路由模式:
- Hashbang 模式;
- HTML5模式;
- HTML5 模式下的 Hashbang
添加 locationProvider 并将 html5mode 设置为 true,似乎解决了我的问题
mainApp.config(["$locationProvider", "$routeProvider",
function ($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/", {
templateUrl: "Views/ViewA.html"
})
.when("/home", {
templateUrl: "Views/ViewB.html"
})
.otherwise({
redirectTo: "/"
});
}]);
此 link 不适用于我的 angularjs 单页应用程序中的所有浏览器。
<a href="/">homepage</a>
根据浏览器的不同,url 会有所不同。在某些浏览器中,url 以尾随“/#”结尾,而其他浏览器以“/#/”结尾,例如“http://localhost/#" and "http://localhost/#/”。这意味着在非 IE 浏览器中,以 /# 结尾的请求无法加载 ViewA
这是我的路线提供商:
mainApp.config(["$routeProvider",
function ($routeProvider) {
$routeProvider
.when("/", {
templateUrl: "Views/ViewA.html"
})
.when("/home", {
templateUrl: "Views/ViewB.html"
})
.otherwise({
redirectTo: "/"
});
}]);
有没有办法让浏览器的行为相同?参考图书馆? 我唯一的参考呃: angular.js angular-route.js
我想你的主播应该是:
<a href="/#/">homepage</a>
我建议你看看类似问题的答案here
主要取决于angular你想使用的路由模式:
- Hashbang 模式;
- HTML5模式;
- HTML5 模式下的 Hashbang
添加 locationProvider 并将 html5mode 设置为 true,似乎解决了我的问题
mainApp.config(["$locationProvider", "$routeProvider",
function ($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/", {
templateUrl: "Views/ViewA.html"
})
.when("/home", {
templateUrl: "Views/ViewB.html"
})
.otherwise({
redirectTo: "/"
});
}]);