2012-03-27 78 views
0

我使用Backbone来写我的应用程序。我的应用程序已安装,因此左侧有一个导航ul,右侧有主面板。这意味着用户可以从一个菜单导航到其子菜单以及潜在的更多子菜单。问题与骨干的哈希样式网址没有相对路径

这是问题所在。因为每个页面都是用散列标识的,所以我现在在我的应用程序中遇到了相当“深”的链接(例如#navigation/menu1/tab1,#navigation/menu1/tab2)。当我更深入地浏览页面时,这非常不方便。想象一下,将链接放在hrefs上,看起来像#this/is/a/really/long/url/that/goes/on/forever。这显然是一个Ajax应用程序无法链接的问题,就像我们习惯于在传统的逐页式Web应用程序中习惯的那样。

我很确定我并不孤单。想知道是否有人有相对链接您的网页在您的骨干应用合适的解决方案(或者说真的,任何Ajax应用程序)

+0

这是你如何设计应用程序。您可以让所有选项卡使用唯一的ID并使用#tab1,#tab2,#tabn等。 – abraham 2012-03-27 14:56:35

+0

@abraham,这对未触及的应用程序也是一个问题。 想象一下,用绝对链接/目录/ 1查看目录。在目录中,可能会链接到单个产品,它会将您带到/ catalog/1/product/2 /,您可以在其中点击链接/目录/ 1 /产品/ 2 /评论/ 3 。 在一个普通的逐页网页应用程序中,你将放入你的href的链接分别是'catalog/1','product/2'和'review/3'。然而,在一个纯粹的ajax应用程序中,没有相对的链接(它们都是相对于根'/'的),并且你强制使用绝对路径 – rycfung 2012-04-04 17:53:43

回答

0

不知道如果我理解您的问题QITE很好,但这里是我怎么样去设计我的哈希值:

尝试使用RESTful像urls /哈希而不是简单地指示路径。例如,而不是“#menu/user/my-profile/edit-infos”,更喜欢“#user /:id/edit”并使用Backbone路由器将你的哈希链接到正确的视图。