我正在创建一组主干驱动的小部件(由于缺乏更好的词)。消费者会将小部件放入他们的网络应用程序中并初始化它们。我需要跟踪某些小部件的历史记录,但不一定需要/想要将内容实际注入(inject)到浏览器的历史记录中也更新 URL。 .navigate
的 replace
和 trigger
选项似乎很有用。我不想干扰应用程序当前对浏览器的 URL/历史记录所做的任何事情,除非他们选择这样做(如果有的话)。
- 不想更新网址(除非选择加入)
- 不想将事件插入浏览器历史记录(除非选择加入)
- 确实希望能够跟踪历史记录(一个简单的数组可能就足够了,但能够随意选择项目 1 和 2 是一个很大的好处)
Backbone 的路由器/历史功能看起来适合我的用例,还是我应该推出自己的解决方案?
最佳答案
Backbone 路由器可能不是您正在寻找的,除非您可以保证所有消费者(实际上这意味着所有消费者的消费者)都将拥有非常现代的浏览器。原因是,如果用户没有现代浏览器,Backbone 将使用 URL 进行导航,而您的要求 #1 将因此被违反。
我所说的“现代浏览器”是指此处显示为绿色的浏览器:
http://caniuse.com/#feat=history
如果我处于你的位置,我只会使用普通的旧 cookie 来存储导航详细信息;只要涉及的数据不多,我认为这会起作用。
关于javascript - 是否使用 Backbone 路由器/历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572792/