当用户登陆我的页面时,例如 www.somepage.com,我想显示一些随机内容。但我希望该内容可以加入书签,因此应在客户端将 URL 更改为“www.somepage.com/?showparts=2,7,12”之类的内容,其中数字可能不同。
我不想每次用户访问“www.somepage.com”时都进行重定向,以便将用户引向“www.somepage.com/?showparts=2,7,12”,因为这需要 2与服务器的往返通信,使网站在用户看来很慢。
那么有没有办法让用户的浏览器在导航到“www.somepage.com”时在一个请求和响应中将 URL 显示为“www.somepage.com/?showparts=1,4,6,30”?
我读过这个帖子:有没有办法在不刷新页面的情况下更改浏览器的地址栏?
但是该线程是关于在用户交互后更改页面的,所以在页面已经加载到客户端之后。
我的问题是,当客户端首次导航到该站点时,是否有响应代码或其他内容可以更改从服务器发送到客户端的第一个响应中的浏览器 URL。
我已经阅读了 history.js ( https://github.com/browserstate/history.js ),但我想知道在响应代码或其他内容中是否有更简单的解决方案。如果唯一的解决方案是使用history.js,我应该怎么做?我在想我可以向从服务器发送的 html 页面添加一个 javascript 调用,如下所示:
History.pushState(null, null, "?showparts=1,4,6,30");
任何指针将不胜感激。
谢谢,
基思