javascript - 是否使用 Backbone 路由器/历史记录

标签 javascript backbone.js browser-history backbone-routing

我正在创建一组主干驱动的小部件(由于缺乏更好的词)。消费者会将小部件放入他们的网络应用程序中并初始化它们。我需要跟踪某些小部件的历史记录,但不一定需要/想要将内容实际注入(inject)到浏览器的历史记录中更新 URL。 .navigatereplacetrigger 选项似乎很有用。我不想干扰应用程序当前对浏览器的 URL/历史记录所做的任何事情,除非他们选择这样做(如果有的话)。

  1. 不想更新网址(除非选择加入)
  2. 不想将事件插入浏览器历史记录(除非选择加入)
  3. 确实希望能够跟踪历史记录(一个简单的数组可能就足够了,但能够随意选择项目 1 和 2 是一个很大的好处)

Backbone 的路由器/历史功能看起来适合我的用例,还是我应该推出自己的解决方案?

最佳答案

Backbone 路由器可能不是您正在寻找的,除非您可以保证所有消费者(实际上这意味着所有消费者的消费者)都将拥有非常现代的浏览器。原因是,如果用户没有现代浏览器,Backbone 将使用 URL 进行导航,而您的要求 #1 将因此被违反。

我所说的“现代浏览器”是指此处显示为绿色的浏览器:

http://caniuse.com/#feat=history

如果我处于你的位置,我只会使用普通的旧 cookie 来存储导航详细信息;只要涉及的数据不多,我认为这会起作用。

关于javascript - 是否使用 Backbone 路由器/历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572792/

相关文章:

Javascript - 如何使用基于字符串的变量名声明变量?

javascript - 是否可以在 Kiosk 模式下关闭 IE,而不显示确认警报?

javascript - 没有 U2F Chrome 扩展的 U2F 支持

php - 在 Codeigniter 中创建后页链接

javascript - 如何通过ajax上传图片

javascript - 了解主干扩展

javascript - 如何序列化嵌套的 Backbone 的集合和模型?

java - Maven 构建抛出错误无法解析依赖项

jquery - 以编程方式选择 jquery ui 选项卡时如何调用 tabselect 事件

javascript - 更改我的 Web 应用程序的浏览器后退按钮行为?