history.js 和 angular 或 ember

history.js and angular or ember

  1. URLs 应该没有 hashbang
  2. 它将回退到不支持历史记录的旧浏览器API
  3. 使用 Angular 或 Ember

问题:是否需要使用history.js? 如果是,请继续阅读。

在 teamwork.com 或 soundcloud 或其他现代网站上,有一种机制可以让链接只加载网站的一部分,同时 URL 发生变化(没有 hashbang) .我也想实现这一点,也想支持旧版浏览器并阅读 history.js 可以做到这一点。 Here 是与此相关的问题,我发现它使用了历史记录 Api。

同时我想使用Angular或Ember。我知道他们有自己的路由,例如有一个删除 # here.

的教程

我了解到不同的浏览器处理历史记录 api 的方式不同,history.js 是解决此问题的一种方式。

那么有没有办法将这些前端框架与 api 结合起来?我会从路线的某个地方开始,但一直在思考该怎么做...

新的实现应该具有跨浏览器兼容性,包括处理旧浏览器。一方面,我想要一个前端框架来将前端与后端分开,但还不确定要使用哪个。另一方面,我喜欢 teamwork.com 处理链接的方式,当您单击它时,它们只加载页面的一部分(包括动画)。同时 URL 发生变化,如果您直接键入 URL,页面将正确加载。好像他们是用 jQuery 来做的。不太确定。

有人知道如何同时使用路由和history.js吗?

我只会使用 AngularJS 和 UI Router。它将路由与 history.js 之类的功能相结合。它有一个 HTML5 模式,您可以启用该模式,允许页面通过 AJAX 更新而不使用散列 #.

它应该会自动应对较旧的浏览器并相应地更改 URL 格式。