关闭 AngularJS 中的 URL 操作

2023-12-13

我正在尝试使用 Angular 编写我的第一个网络应用程序。

在正常模式下(html5模式关闭),Angular 强制地址的哈希部分看起来像“路径”(添加前导“/”),并对特殊字符进行编码 - 例如,它允许单个“?”和“#”在哈希中,并用 %3F 和 %23 替换其他。

有没有办法关闭这个功能?我不想使用$locationProvider / $routeProvider功能 - 我想自己解析哈希(在我的情况下,用户将在哈希中输入一些“自由文本”以在我的网站内搜索)。

我读到,routeProvider 无法配置为使用正则表达式...

如果打开 htmlMode,则地址的哈希部分不会被迫看起来像路径(没有前导“/”),但它仍然对特殊字符进行编码。

我知道某些浏览器可能会编码/转义特殊字符,但是如果用户设法在其地址栏中输入一些特殊字符,那么我不想更改它。

Thanks


不确定这样做的副作用,但它可以完成工作。请注意,即使有意这样做,它也会禁用角度应用程序的所有位置操作。

angular.module('sample', [])
    .config( ['$provide', function ($provide){
        $provide.decorator('$browser', ['$delegate', function ($delegate) {
            $delegate.onUrlChange = function () {};
            $delegate.url = function () { return ""};
            return $delegate;
        }]);
    }]);

ES6 变体:

angular.module('sample', [])
    .config(["$provide", $provide => {
        $provide.decorator("$browser", ["$delegate", $delegate => {
            $delegate.onUrlChange = () => { };
            $delegate.url = () => "";

            return $delegate;
        }]);
    }]);

在 Chrome 30、IE9、IE10 中测试。
灵感来自https://stackoverflow.com/a/16678065/369724

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关闭 AngularJS 中的 URL 操作 的相关文章

  • jQuery 中的 Javascript .files[0] 属性

    jQuery 中是否有与此语句等效的语句 var value document getElementById id files 0 使用附加 files 0 的标准 jQuery 选择器似乎不起作用 并且我找不到与 files 等效的 jQ
  • 如何向 jQuery Tokeninput 添加占位符?

    如何将占位符添加到 jQuery Tokeninput 字段 一个正常的placeholder属性在这里不起作用 对于这样的输入
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • 在 BIRT 中输入参数后更新数据集查询

    在 BIRT 报告设计中传递参数后 如何更改或更新数据集的查询 详细说明 我有一个如下所示的查询 WHERE 该参数标记可以保存不同的值 在用户输入参数后 它看起来像这样 例如 WHERE column name 1 or WHERE co
  • 未捕获的引用错误:myFunction 未定义[重复]

    这个问题在这里已经有答案了 这到底是怎么回事 http jsfiddle net sVT54 http jsfiddle net sVT54
  • 使用模态表单 ajax 超出 HTMLFormElement.toString 的最大调用堆栈大小

    我想使用模态窗口中的 ajax 请求提交表单 单击此链接可打开该模式 a class btn btn primary i class fa fa edit i Write a review a 模态窗口 div class modal fa
  • 保存/导出Chrome的JavaScript控制台输入历史记录

    无论如何 我可以保存或导出 JavaScript 控制台的历史记录吗 input 控制台历史记录 在 Google Chrome 中 我不想保存输出或错误 因此将鼠标悬停在控制台框上 右键单击并选择Save as 不是解决方案 我不想每次都
  • iframe 重新加载按钮

    我浏览了很多网站 但似乎没有一个能正常工作 或者我不明白它们 我想要一个刷新某个 iframe 的简单按钮 该按钮将位于父页面上 并且 iframe 名称为 Right 有很多方法可以做到这一点 假设这个iframe markup 我们可以
  • 使用 jquery 将字符串数组转换为整数

    我正在尝试将 jquery 中的字符串数组转换为整数数组 这是我的尝试 var cdata data values split each cdata function i l l parseInt l 我认为在这种情况下你不需要使用 Jqu
  • 如何从顺序键盘导航中删除 Vuetify 附加图标

    在带有 Vuetify 的 Vue js 应用程序中 我有一组用v text field并且其中有一个append icon为了切换文本可见性 如下所示
  • 使水平滚动条始终可见,即使底部不在视图中

    我将用一个片段来开始这个问题 该片段几乎显示了我想要完成的任务 wrapper overflow hidden display flex sidebar min width 200px background 333 color FFF co
  • React无限滚动scrollableTarget动态获取id?

    我在我的项目中使用react infinite scroll component 如何让scrollableTarget动态获取item id 我试过这样scrollableTarget item id 但它不起作用 必须与该 div 具有
  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • 从多维无穷大数组中删除数组元素

    我想删除一个特定元素 例如 我想删除元素id 76在下面的数组中 而且 数组可以无限地组合在一起 这里的问题是我无法刷新页面 因为我使用 Vue js 进行即时操作 如果我能做到这一点 我的下一个问题可能是如何在我现在想要的地方添加一个元素
  • ES6 模板文字的延迟执行

    我正在玩新的ES6 模板文字 http tc39wiki calculist org es6 template strings 我首先想到的是String format对于 JavaScript 所以我开始实现一个原型 String pro
  • 当选择下拉列表中的某些值时,取消选中复选框

    当我从下拉列表中选择某个值或用户未从下拉列表中选择任何值时 我需要取消选中复选框 我现在正在使用 Jquery 这是我现在使用的代码 但它不起作用 Script
  • Restangular - _.contains() 不是一个函数

    如果您最近通过 Bower 更新了 Restangular 它将安装最新的 Lodash 新的 4 0 然而 这是一个问题 因为 Restangular Angular 现在会抛出错误 contains 不是函数 你怎么解决 解决方案非常简
  • 如何更改订阅值?使用 rxJS

    我正在创建一个计时器 需要你的帮助 我刚刚学习 Angular 和 rxJS 对此我有一些疑问 我正在创建一个具有启动 停止 暂停 重置功能的计时器 并且 btn Reset 必须将我的计时器 暂停 到 300 毫秒 怎么做 D 我的启动定
  • Bootstrap 3 / 显示模式不适用于 javascript 方式

    我用Modal http getbootstrap com javascript modalsBootstrap 3 0 的功能 我有这个代码 a href myNestedContent Open the modal containing
  • 如何调试 Gulp 任务?

    如何调试我的中定义的 gulp 任务gulpfile js使用诸如 Google Chrome 调试器之类的调试器逐行单步执行任务的代码 对于 Node js 6 3 版本 您可以使用 inspect flag https nodejs o

随机推荐

  • 从 MySQL 中的多个表中删除行

    我正在尝试从projects表以及与该项目相关的所有图像images table 可以说p id 10 DELETE FROM projects images WHERE projects p id AND images p id 这个查询
  • 我们可以用 C# 中的带有默认方法的接口替换抽象类吗

    在 C 8 0 中 我们有一个新功能 可以在接口中提供默认方法实现 该方法也可以被其实现类覆盖 我们曾经使用带有实例方法的抽象类来为其所有实现类提供通用功能 现在我可以将那些具有实例方法的抽象类替换为具有 C 8 0 中的默认方法实现的接口
  • 如何复制/克隆整个 Google App Engine 项目

    我想知道是否有任何方法可以克隆谷歌应用程序引擎项目 我找不到任何与此相关的帮助 尽管人们经常需要此功能 假设我开始开发一个应用程序引擎应用程序 配置了如此多的选项 api 现在它将成为我的临时项目 我想要一个单独的生产项目 设置具有相同设置
  • sqlalchemy.exc.NoSuchModuleError:无法加载插件:sqlalchemy.dialects:bigquery

    尝试使用 sqlalchemy 创建 bigquery 连接器 from sqlalchemy import create engine engine create engine bigquery
  • Delphi 2010 对象检查器网格和 Windows dpi

    我在高分辨率宽屏上工作 并将 dpi 设置为 144 这样我可以更好地看到字体 Delphi 2010 对象检查网格中的问题我看不到属性或事件名称的文本 网格无法缩放 有什么解决办法吗 thank 读完你的文章后 我问 Uwe Schust
  • 通过字符串名称访问变量值(groovy)

    我做了一些研究 但还没有找到适合我的案例的工作代码 我有两个名为test and test2我想将它们放入以下格式的地图中 test valueof test test2 valueof test2 我的一段代码如下 def test HE
  • 如何将智能表“st-search”与 ng-model 集成?

    如何在Smart Table上设置不考虑用户输入的输入搜索值 这是我的代码 当用户单击复选框时 输入字段会自动输入 Sam 但表记录不会被过滤 并更新 这是我的代码 div class container table class table
  • Codeigniter:在非对象上调用成员函数 result_array()

    我正在使用 Codeigniter 构建 web 应用程序 但收到此错误 Fatal error Call to a member function result array on a non object in var www appli
  • 在其他下拉菜单中选择后禁用下拉选项

    我有 12 个下拉输入区域 一年中的每个月份都有 1 个 每个下拉菜单都有相同的 24 个选项 我需要这样做 例如 如果您在 一月 下拉框中选择了选项 4 则无法在任何其他下拉菜单中选择该选项 4 它仍然在下拉列表中 但只是被禁用 这将有一
  • ID 令牌中缺少 Azure AD v2.0 特定的可选声明

    我正在尝试使用 Microsoft Identity Web NuGet 添加可选声明 以在 NET Core 3 1 WebApp 中进行用户身份验证 阅读 MS 文档 似乎唯一需要的步骤是在 Azure 中的应用程序注册清单文件中声明可
  • 如何使用Data.Functor.Invariant?

    有人可以给我举个例子吗 invmap a gt b gt b gt a gt f a gt f b Invariant 有什么用呢 大多数情况下 人们don t use Invariant 您想要这样做的原因是 如果您正在使用其中变量同时出
  • iPhone利用进度条定时器实现流畅动画

    我试图本着学习的精神在iPhone上实现一个简单的测验应用程序 这个应用程序的一部分是一个计时器 我希望我的计时器从 10 倒数到 0 我有一个简单的 NSTimer 它每秒重复并调用一个方法 在这个方法中我更新了一个显示剩余时间的标签 效
  • 如何在Delphi中使用CCR.EXIF从JPG EXIF读取GPS坐标?

    使用 GPSLatitude 和 GPSLatitude 属性分配方法设置 GPS 坐标非常容易 但读取坐标却让我难住了 我试图访问 TGPSLongitude 类 但没有任何属性或方法可以为我呈现真实的 浮点的 甚至 DMS 的坐标 示例
  • 如何在没有单独的图标文件的情况下更改 Inno Setup 卸载程序快捷方式的图标?

    是否可以在不存储单独的图标文件 到应用程序文件夹 的情况下更改 开始 菜单中卸载程序快捷方式的图标 我看到这个 使用 Resource Hacker 在构建后更改图标 但我无法实现它 My code Icons Name group cm
  • 在 MacOS Big Sur 上安装 Netbeans 8.2 未找到 JDK

    我最近升级到 MacOS Big Sur 当尝试打开 NetBeans 8 2 时出现错误 缺少 JDK 并且需要运行某些 NetBeans 模块 请使用 JDK home命令行选项指定JDK安装 我尝试将 JAVA HOME 设置为 JD
  • Android - 触摸通知时提示对话框窗口

    我是 Android 应用程序开发新手 我正在为我的最后一年项目申请 我的应用程序将提醒用户预约 到目前为止 我设法在预约日期的通知栏上显示警报 我的主管要求添加一个功能 当用户在通知栏上单击选项卡时 将会出现一个对话框窗口并显示详细信息
  • ifelse 的意外结果

    我得到了意想不到的结果ifelse功能 vector lt factor c x x y z levels c x y z ifelse class vector factor yes levels vector no unique vec
  • 导航到 OnNavigedTo 的另一个页面?

    为什么该方法Navigate调用时不工作导航至该页面的事件 您可以重现这种行为吗 有什么想法如何避免这个问题 void LockScreenPage OnNavigatedTo Windows UI Xaml Navigation Navi
  • 如何将 div 覆盖在框架集上?

    我需要使用 jQuery 1 6 2 为现有 jsp 页面创建一个请等待页面 我能够使 div 覆盖正常工作 并在页面中心的模式窗口中显示 请稍候 动画 然而 覆盖层仅覆盖其中一个框架集 即中心框架集 html 结构基本上是 为了清楚起见
  • 关闭 AngularJS 中的 URL 操作

    我正在尝试使用 Angular 编写我的第一个网络应用程序 在正常模式下 html5模式关闭 Angular 强制地址的哈希部分看起来像 路径 添加前导 并对特殊字符进行编码 例如 它允许单个 和 在哈希中 并用 3F 和 23 替换其他