我无法使用 AngularJS v1.2.0 和 PhoneGap/Cordova Android 应用程序进行路径查找。通过在index.htmlhtml5mode(true)
中设置<base href="."/>
然后更改$routeProvider.when('/')
为$routeProvider.when('/android_asset/www/index.html')
. 之后,我可以redirectTo('login')
到达并按预期进行$routeProvider.when('/login')
渲染。templateUrl: 'static/partials/login.html'
我遇到的问题是,如果我尝试使用 Javascript 代码从我的 Javascript 代码重定向到登录页面$location.path('/login');
,则会找到路由,但 templateUrl 加载失败并出现insecurl
异常。
我尝试使用新的 angular-sanitize 模块将访问 file:// 列入白名单,但这没有帮助。
我怎样才能做与加载部分$location.path()
相同的事情?redirectTo
或者有没有其他方法可以解决这个问题?
更新:通过在路径函数之后添加对 replace() 的调用,我有点前进了,例如:
$location.path('/login').replace();
但这似乎是一个 hack,它仍然会导致其他路由中的 templateUrl 失败并出现相同的异常。
关于什么可能是错的任何想法?是不是 html5mode(true) 此刻不能与 Phonegap 一起使用,解决此问题的唯一方法是将其设置为 false 并将主题标签添加到每个路径(就像在 angular phonegap种子项目中所做的那样)?