Backbone.history.start() 阻止后退按钮离开页面

2023-12-25

我现在在一些应用程序上遇到了这个问题,所以我想知道我是否对 Backbone 历史记录做错了什么。情况是这样的...

我有两页,比方说:

index.html
app.html

索引页只是一个普通的、平面的 HTML 页面,带有一个链接app.html。在应用程序页面上,Backbone.history.start()调用来启动哈希状态管理,该管理用于在应用程序页面上的两个视图之间切换,例如:

app.html#search
app.html#results

因此,在#search and #results页面效果很好。那里没有问题。当您尝试使用后退按钮一直返回到时,会出现此问题index.html。返回索引页的路径包括在app.html(无哈希状态),此时主干路由器会尽职尽责地填充缺失的哈希状态,让您回到app.html#search。再次单击后退按钮将转到app.html,它再次填充丢失的哈希状态...基本上,您现在陷入了循环并且无法从页面返回。使用推送状态时也会发生相同的行为。

对于在默认页面 URL 之上自动启动自己的路由系统的应用程序来说,这似乎是一个潜在的常见问题。有谁知道避免这种情况的好方法?


问题是app.html自己没有做任何事情;因此,如果导航的话,可能会以某种方式破坏应用程序。

在这种情况下,您可以做的是将根路由重定向到另一个,只需将其用作默认页面:

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

Backbone.history.start() 阻止后退按钮离开页面 的相关文章

随机推荐

  • PhpStorm Xdebug:等待使用 ide key 的传入连接

    我正在运行 PHP 7 0 和 PhpStorm 2016 1 我安装了 x debug 这是我的配置 当从 PhpStorm 运行调试时 调试器选项卡显示以下错误消息 等待 ide 键 13136 的传入连接 ide 密钥每次都不同 请帮
  • MdSidenavLayout 内的粘性 MdToolbar

    我有一个 Angular 2 Material 应用程序 它使用
  • 如何有条件地设置属性名称

    我试图根据数据中的一列动态设置属性名称 但它不起作用 将路径箭头属性名称设置为marker end or marker start基于isReverse数据中的列 我创建了一个函数并在 attr 函数但它抛出脚本错误 这个要求基本上是根据i
  • 方法什么时候可以被 CLR 内联?

    我在应用程序中观察到很多 堆栈内省 代码 这些代码通常隐式依赖于它们的包含方法not被内联以确保其正确性 此类方法通常涉及调用 MethodBase GetCurrentMethod Assembly GetCallingAssembly
  • 使用 MATLAB 从 Matrix 中查找正值的数量 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个6x6双矩阵A 1 1 2 1 2 2 1 3 1 1 2 1 3 5 1 1 3 3 4 5 2 2 1 3 4 1 3 3 2
  • RPC-GWT 序列化/java.util.Date 编码

    我正在创建一个序列化 GWT 请求的脚本 但在编码日期值以符合 RPC GWT 标准时遇到问题 通过查看 HTTP 日志 我注意到日期值被转换为一些 7 个字符的字符串 但我无法识别这些模式使用的算法 有谁知道使用哪种算法来加密这些日期值
  • matplotlib 图例:如何指定字体粗细?

    指定 matplotlib 图例字体粗细的最佳方法是什么 我可以用 matplotlib rcParams update legend fontsize 12 设置字体大小 但是当我使用 matplotlib rcParams update
  • Java:util_USBUIRT.dll:找不到依赖库

    我想使用这个 jar 文件 http sourceforge net projects uirt j http sourceforge net projects uirt j 在个人项目中 目前 我一直在使用 Eclipse 并尝试导入该
  • 使用 opengrok 搜索历史记录

    我一直在使用 OPENGROK 来搜索我的 SVN 代码存储库 它需要存储库的签出版本来为其建立索引 当我在我的系统上签出版本时 我已经能够实现通过存储库进行搜索 当我尝试搜索存储库的历史记录时 我陷入了困境 我能做些什么 另外 如何更新索
  • Windows 7中uwsgi安装错误

    尝试根据安装uwsgi文档 http uwsgi docs readthedocs org en latest tutorials Django and nginx html我在 Windows 7 上收到以下错误 我应该怎么办 uwsgi
  • 无法在 JavaScript 中创建 Vue Router 实例

    下列的导游 https router vuejs org en essentials getting started html我到达了需要创建 Vue 实例的地步 这似乎有效 但是 我还需要在 Vue 的构造函数中提供一个 Vuew Rou
  • 每次按下灌木丛时按下都会生成草药

    我在 2D 游戏中从森林中的一些灌木丛中生成了一个香草集合 我的脚本具有克隆 Herbs 预制件的功能 但当我按下灌木丛时没有任何反应 这里有什么问题 Script using System Collections using System
  • 从另一个 data.frame 填充 data.frame 中的缺失值

    我有一个带有行和列名称的 N x M 数据框 DF1 其中许多值都是 NA 还有第二个数据框 DF2 1 x M 因此实际上可能是一个向量 其行名称与 DF1 相同 我想使用 DF2 来填充 DF1 列中的缺失值 任何帮助将非常感激 Udp
  • IBM Data Server Client v9.7fp5 的日期时间字段溢出

    使用 EntityFramework v4 1 和 IBM 数据服务器客户端v9 7fp5 DB 首先根据预定义的具有 DATE 列的 DB2 表生成代码 DB2 DATE 列在代码生成期间映射到 NET DateTime 数据类型 当尝试
  • 如何在 mysql 中使用 UPDATE 自动声明行或资源

    我有一个资源表 比如说汽车 我想以原子方式声明它 然后我想要有关我刚刚声明的资源的信息 如果每个用户只能使用一种资源 我可以采取以下技巧 UPDATE cars SET user bob WHERE user IS NULL LIMIT 1
  • 如何在 iOS OpenGL ES 2.0 中绘制星星

    这个问题以前就被问过 但在我的搜索中是好几年前的事了 答案始终是使用纹理映射 但我真正想做的是将星星表示为单个顶点 你可能认为我正在使用一种简单的方法 但事实上 单点光源实际上看起来相当不错和现实的 但我想用高斯模糊之类的东西来处理那个光点
  • xcode 8 beta 3:预期的“,”连接多子句条件的一部分

    在 xcode 8 beta 3 中收到新警告 此语法有什么问题 或者 xcode 中是否存在错误 SwiftyJSON swift 772 35 预期的 连接多子句条件的一部分 if let errorValue error where
  • 使用 for 循环反转数组没有任何作用[重复]

    这个问题在这里已经有答案了 我试图使用 for 循环反转 15 个数字的数组 但由于某种原因数组顺序保持不变 我的代码如下所示 int main int arr 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • Hibernate 无法添加或更新子行:外键约束失败

    当我尝试将对象保存到数据库中时出现错误 java sql SQLIntegrityConstraintViolationException Cannot add or update a child row a foreign key con
  • Backbone.history.start() 阻止后退按钮离开页面

    我现在在一些应用程序上遇到了这个问题 所以我想知道我是否对 Backbone 历史记录做错了什么 情况是这样的 我有两页 比方说 index html app html 索引页只是一个普通的 平面的 HTML 页面 带有一个链接app ht