Angularjs 是在第二个哈希 /#/# 之后的 Urlencoding 正斜杠,即使没有使用 routeprovider
Angularjs is Urlencoding forward slashes after second hash /#/# even though no routeprovider is used
我是 运行 angular 1.3.11 并且包括一个注入 url 用于深度链接的应用程序 /#/#/pagename/itemid
问题是,一旦位置改变,似乎 angular 覆盖了 url,url 编码斜线在第二个散列之后 /#/#%2Fpagename%2Fitemid
有没有办法配置 angular 不重写 url?我没有在这些特定页面的任何地方使用 angular routeprovider,所以我根本不明白为什么它需要触及 url。
深层链接 url 由底层应用程序提供,我无法控制。 angular 实现在我这边。我搜索了 angular 文档、google 和 Whosebug,但没有找到类似问题的解决方案。
当然我可以尝试 url 在将它发送回应用程序之前对其进行解码,但我更希望 angular 让我的 url:s 在我询问之前到.
在 Turn off URL manipulation in AngularJS 找到了答案。那里建议的相同解决方案对我有用:
angular.module('sample', [])
.config( ['$provide', function ($provide){
$provide.decorator('$browser', ['$delegate', function ($delegate) {
$delegate.onUrlChange = function () {};
$delegate.url = function () { return ""};
return $delegate;
}]);
}]);
我是 运行 angular 1.3.11 并且包括一个注入 url 用于深度链接的应用程序 /#/#/pagename/itemid
问题是,一旦位置改变,似乎 angular 覆盖了 url,url 编码斜线在第二个散列之后 /#/#%2Fpagename%2Fitemid
有没有办法配置 angular 不重写 url?我没有在这些特定页面的任何地方使用 angular routeprovider,所以我根本不明白为什么它需要触及 url。
深层链接 url 由底层应用程序提供,我无法控制。 angular 实现在我这边。我搜索了 angular 文档、google 和 Whosebug,但没有找到类似问题的解决方案。
当然我可以尝试 url 在将它发送回应用程序之前对其进行解码,但我更希望 angular 让我的 url:s 在我询问之前到.
在 Turn off URL manipulation in AngularJS 找到了答案。那里建议的相同解决方案对我有用:
angular.module('sample', [])
.config( ['$provide', function ($provide){
$provide.decorator('$browser', ['$delegate', function ($delegate) {
$delegate.onUrlChange = function () {};
$delegate.url = function () { return ""};
return $delegate;
}]);
}]);