无需函数即可将参数附加到url的最佳方式
Best way to append params to url without function
我正在寻找向url params示例添加id的最佳方法。
http://example.com/1
所以说,如果我把它设置在一个间隔附近,它就会是。
var i = 0;
setInterval(function() {
document.location.search = 'http://example.com/' + i++;
}, 1000);
我试图得到的结果是在没有页面刷新的情况下为url添加额外的参数,这样它就可以不断更新。
http://example.com/1
http://example.com/2
http://example.com/3
http://example.com/4
等等。。。
请帮忙。
有两种方法可以做到这一点。一个是使用HTML5历史API,将是这样的代码:
var i = 0;
setInterval(function() {
history.pushState(null, document.title, 'example.com/' + i++);
}, 1000);
然而,这将把它推到浏览器历史记录中,并不是所有的浏览器都支持它
或者,如果你不介意#
,你可以使用哈希码,但它可能会让访问者感到恼火,因为它可能会每秒都将页面推到顶部。如果你不在乎,那么这就是你的代码:
var i = 0;
var url= window.location.href;
setInterval(function() {
window.location.href = url+"#"+i++;
}, 1000);
无论如何,这听起来是个坏主意,所以请重新考虑使用它。我很确定你想要实现的目标可以用一种更干净的方式完成。
您想要更改"片段标识符",这是url中可以在不刷新页面的情况下更改的部分。
这听起来并不符合逻辑,但如果您真的需要这样做,您可以使用history.pushState
实现这一点的最简单方法是:
history.pushState("", "", "/1");
请注意,IE中的支持非常有限。
这现在可以在Chrome、Safari、FF、IE10中完成。
window.history.pushState(“object or string”, “Title”, “/new-url”);
在您的情况下:
var i = 0;
setInterval(function() {
window.history.pushState(“”, “”,'http://example.com/' + i++);
}, 1000);
更多信息请点击此处:
http://spoiledmilk.com/blog/html5-changing-the-browser-url-without-refreshing-page/
相关文章:
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 修改 HTML 的方式使左键应带到下一个 URL
- 限制与AngularJS状态匹配的动态URL参数的最佳方式
- 使用javascript在chrome浏览器的新选项卡中以程序方式打开URL
- 用字符串和数字写视频源URL的正确方式是什么
- 使用ui路由器实现动态URL路由的最佳方式是什么
- 更改url位置的最佳方式
- 如何以编程方式在URL上执行javascript
- 更改基于目标将 URL 参数追加到链接的方式
- 以编程方式将 URL 加载到 ng 视图中
- 通过 JavaScript URL 可变快捷方式扩展 HTML URL
- jQuery:以最佳方式根据URL添加类
- 运行javascript以外的其他方式:从url
- AngularJS-处理手动输入URL状态的最佳方式
- 如何使用express JS以特定方式从URL中读取参数
- Javascript-切换元素只能用一种方式!还有URL附加所需的帮助
- 匹配URL中路径的正确方式?(8)
- 在url中传递数组的有效方式
- jQuery:向URL散列写入和读取参数的轻量级方式
- 使用JQuery以不可见的方式调用URL并返回成功/错误标志