我有一个网络应用程序,其中包含使用Html5Mode的新Angular页面和使用经典ASP的旧页面。我们正在转换旧页面,但与此同时,他们继续与Angular应用程序并存。
从Angular应用程序到ASP页面的链接导致后退按钮在Chrome和IE中无效。单击后退按钮只需重写URL而不导航,将用户留在ASP页面上。我在Firefox中通过设置“cache-control:no-store no-cache”解决了这个问题,但Chrome和IE似乎并不尊重后退按钮。
我的外部链接是这样的:
<a target="" ng-href="http://localhost:61887/A/B/C.asp" ng-bind="item.DisplayText" href="http://localhost:61887/A/B/C.asp">Classic Page</a>
尽管从“http://”开始,链接正在通过角度路由处理(这本身看起来很奇怪)。所以它由我们的其他路线和我们的NonRoutedLocationCtrl处理:
commonControllers.controller('NonRoutedLocationCtrl', ["$location",
function ($location) {
console.log($location);
window.location = $location.url();
}
]);
导航到ASP页面成功,但后退按钮无法正常工作。任何见解都会有所帮助。