该网页如何更改地址栏中的URL查询参数?

初始网址是

https://robertbarakett.com/products/the-barakett-t-hoodie?option1=Blue+night&option2=S

我跟踪了 HTTP 请求。它只做 1 次重定向:来自

https://robertbarakett.com/products/the-barakett-t-hoodie?option1=Blue+night&option2=S

https://robertbarakett.com/products/the-barakett-hoodie-black?option1=Blue%20night&option2=S.

但是,地址栏中的最终 URL 是

https://robertbarakett.com/products/the-barakett-hoodie-black?variant=31966791729263.

我读到有关更改 URL 而不重新加载页面的内容:

  1. 如何在不重新加载页面的情况下修改 URL?

  2. 将参数附加到 URL 而不刷新

由于加载网页后没有导航历史记录,因此排除了window.history.pushState。也许它使用window.history.replaceState?我在页面的源代码中进行了搜索,没有找到任何使用replaceState. 那么如何验证是否使用了replaceState其他技术呢?


青春有我
浏览 135回答 1
1回答

慕侠2389804

正在使用window.history.replaceState其具有:_updateHistoryState: function(variant) {   if (!history.replaceState || !variant) {     return;   }     var newurl = window.location.protocol + '//' + window.location.host + window.location.pathname + '?variant=' + variant.id;   window.history.replaceState({path: newurl}, '', newurl);},
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript