我使用History API设计了单页应用程序,在服务器上使用Node.js,客户端上没有任何特定框架(jQuery除外)。它有几个选项卡,如a.com/b,a.com/c,a.com/d。
一切正常,除非我直接访问a.com/d(例如,如果我将此页面加入书签)。我想要标签" d"待显示。
我想到了两种方法:
- 在服务器端执行此操作:但由于我的选项卡是隐藏或显示在静态HTML文件中的div,因此此解决方案似乎很难实现。服务器应根据请求发送不同的HTML文件,但鉴于我只有一个index.html,我不知道该怎么做。
- 在客户端执行此操作:在Javascript中解析URL,然后显示正确的选项卡。我实现了这个解决方案,它似乎工作,直到我尝试了a.com/d?param = value。这是我没有处理的案例。所以我可以提高我的正则表达式,但我担心这是一个不好的做法,也许总会有一个我没想到的案例。
您认为最好的是什么,以及如何正确地做到这一点?