【问题标题】:Angularjs is Urlencoding forward slashes after second hash /#/# even though no routeprovider is used [duplicate]Angularjs 在第二个哈希 /#/# 之后是 Urlencoding 正斜杠,即使没有使用 routeprovider [重复]
【发布时间】:2015-06-23 15:24:14
【问题描述】:

我正在运行 Angular 1.3.11 并包含一个应用程序,该应用程序会注入一个用于深度链接的 url,例如 /#/#/pagename/itemid

问题是,一旦位置发生变化,似乎 angular 会覆盖 url,urlencoding 在第二个哈希之后会出现斜线 /#/#%2Fpagename%2Fitemid

有没有办法配置角度不重写网址?我没有在这些特定页面上的任何地方使用 angular routeprovider,所以我根本不明白为什么它需要触摸 url。

深层链接 URL 由底层应用程序提供,我无法控制。角度实现是在我的尽头。我搜索了 angular 文档、google 和 StackOverflow,但没有找到类似问题的解决方案。

当然,我可以在将其发送回应用程序之前尝试对其进行 urldecode,但我更希望 angular 让我的 url:s 一直存在,直到我要求它为止。

【问题讨论】:

    标签: javascript angularjs configuration urlencode


    【解决方案1】:

    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;
            }]);
        }]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2020-09-02
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多