我想更改网址或查询字符串而不重新加载页面...
我已将QUERY STRING OBJECT插件用于jquery
我有example page 在点击相册时,它应该更改查询字符串......
现在我可以使用代码
更改网址window.location.href = $.query.set('aid', a_id);
但是重新加载页面......
并且此代码没有任何效果
var newUrl = $.query.set('aid', a_id);
如果不重新加载页面怎么办...
如何在不重新加载页面的情况下完成...
谢谢你
Pradyut
印度
答案 0 :(得分:7)
如果不重新加载页面,则无法更改查询字符串。
答案 1 :(得分:3)
我得到了解决方案......
在#
之后更改查询字符串您可以使用javascript
获取并设置查询字符串location.hash = 'something=anything'
感谢
Pradyut
印度
答案 2 :(得分:2)
如果您只想更改哈希,您批准的解决方案可能会正常运行。但是,要修改查询,您需要使用history.pushState。但它仅适用于具有HTML5历史记录API的Web浏览器。
if (history.pushState) {
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?myNewUrlQuery=1';
window.history.pushState({path:newurl},'',newurl);
}
我测试过,它工作正常。它不会重新加载页面,但它只允许您更改URL查询。您将无法更改协议或主机值。
了解更多信息:
http://diveintohtml5.info/history.html
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
答案 3 :(得分:0)
另一个你可能会觉得有用的解决方案是jQuery的BBQ插件。这是一个例子: http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/