单页 JavaScript 应用的唯一 URL

Unique URLs for single page JavaScript apps?

本文关键字:唯一 URL 应用 JavaScript 单页      更新时间:2023-09-26

如何为单页JavaScript应用程序生成唯一的URL。

URL 的行为应类似于普通 URL,即将其粘贴到浏览器中,并且应用程序应加载并显示该特定视图,前提是用户具有权限。Gmail这样做,许多其他人也是如此。

我猜这将涉及读取位置哈希值并适当地执行操作。

对于未来的项目,是否有任何框架可以提供内置此功能?

谢谢Sri

你可以

试试BackboneJs,我相信有数百万个你想要的功能 http://documentcloud.github.com/backbone/

我不会在哈希值上构建它。使用history.pushState等使用真正的自然 URL 构建它。使用重写可以请求站点上的任何正常资源由单个处理器处理。然后加载,只需根据某种哈希检查 URL 中的内容,该哈希包含用于构建该资源的控制器。此外,您可以构建 URL,因此它们实际上是正则表达式值,以允许在单页方案中使用半动态 URL。

urls = {
  { url : "/content/id/('d)*?/", controller : controllers.blah }
  { url : "/home/", controller : controller.home }
}
controllers : {
  blah : function() {
    // do stuff
  },
  home : function() {
    // do stuff
  }
}

显然,它变得更加复杂,但这是我用来创建javascript单页机的方法。此外,在页面加载时,我会运行一个 jQuery 调用,该调用具有所有内部链接点击,以通过页面加载时使用的完全相同的处理器运行,从而有效地劫持它们。

有一个名为DerbyJS(http://derbyjs.com)的JavaScript框架,它完全支持你想要的。