有没有办法更改浏览器's的URL,而不将第一个原始请求重定向到服务器
Is there a way to change the browser's URL without doing a redirect on the first and original request to the server?
当用户登录我的页面时,比如www.somepage.com,我想显示一些随机内容。但我希望这些内容可以作为书签,所以应该在客户端上将URL更改为类似"www.somepage.com/?showparts=2,7,12',其中数字可能不同。
我不想每次用户访问"www.somepage.com"时都进行重定向,从而将用户指向"www.somepage.com/?showparts=2,7,12',因为这将需要与服务器进行2次往返通信,从而使网站对用户来说显得很慢。
那么,有没有办法让用户的浏览器将URL显示为"www.somepage.com/"?当他们导航到"www.somepage.com"时,一个请求和响应中的showparts=1.4,6,30'?
我读过这个帖子:有没有办法改变浏览器';s地址栏而不刷新页面?
但该线程是关于在用户交互之后更改页面的,因此是在页面已经加载到客户端之后。
我的问题是,当客户端第一次导航到网站时,从服务器发送到客户端的第一个响应中是否有响应代码或更改浏览器URL的内容。
我读过历史.js(https://github.com/browserstate/history.js),但我想知道在响应代码中是否有更简单的解决方案。如果唯一的解决方案是使用history.js,我应该怎么做?我想我可以向服务器发送的html页面添加一个javascript调用,如下所示:
History.pushState(null, null, "?showparts=1,4,6,30");
任何建议都将不胜感激。
谢谢,
Keith
我的理解是,您可以使用这里所示的History api来解决您所描述的问题。你试过了吗?你有什么问题?
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- 字母计数:返回重复字母数最多的第一个单词
- 如何使用Javascript在HTML表中查找第一个空行
- 分页:如何用AJAX加载第一个页面
- 全局标志仅与第一个匹配项匹配的Regexp
- 访问ng repeat中的第一个项目
- 使用jQuery只返回选中复选框后的第一个表单元格值
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 关闭第二个事件源上的第一个事件源's onopen方法
- 无法获取vis.js最后一个或第一个选定的网络节点
- 如何设置第一个手风琴面板关闭
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- jQuery空选择,但不是第一个选项
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- 在Jquery中选择第一个搜索项而不单击它
- Thunderbird,如何以编程方式选择第一个选项卡
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 添加新的第一个参数,然后应用原始参数
- 有没有办法更改浏览器's的URL,而不将第一个原始请求重定向到服务器