如何在角度js中禁用散列重定向

时间:2016-07-09 16:27:54

标签: javascript jquery angularjs angular-ui-router

我有一个网址如下

http://www.something.com/sometest/test/#registration

基于#registration为IE编写了一些逻辑。

现在我正在使用角度js,它正在重定向,如下所示,这打破了逻辑。

http://www.something.com/sometest/test/#/registration

我想到了html5 mode,但它正在创建其他问题,例如我的页面中的链接不起作用,只有url正在更新(这是我们使用html5mode时的预期)。所以,我不想使用html5mode。我只想阻止#重定向到/#/

请让我知道如何禁用此重定向

  

注意:我没有使用路由,但我不需要它。我也不想使用html5mode。这是现有的实现,我需要在angular js app中使用它来打开弹出窗口等。

2 个答案:

答案 0 :(得分:-1)

如果您的应用程序在/ sales /下运行,请尝试在index.html中设置基本路径并启用html5Mode:

<base href="/sales/index.html" />

否则,

<base href="/" />

如果你正在使用IE9,那么HTML5mode将起作用,因为IE9不支持HTML5 History API

function supports_history_api() {
  return !!(window.history && history.pushState);
}

请参阅使用$location

这会有效!

干杯:)

答案 1 :(得分:-1)

我自己解决了这个问题。这是因为向控制器注入了$location服务。

//issue
app.controller("testController", ["$scope", "$location", function($scope, $location) {

}]);

我从控制器中删除了$location服务,问题已解决。

//resolved
app.controller("testController", ["$scope", function($scope) {

}]);