变更网址或查询字符串wihout使用jQuery插件
我想改变的网址或查询字符串无需重新加载页面重新加载...变更网址或查询字符串wihout使用jQuery插件
我已经使用了QUERY STRING OBJECT的jQuery插件
我有这个example page 在上张专辑的点击就应该改变的查询字符串...
现在我可以使用代码
window.location.href = $.query.set('aid', a_id);
0更改URL
但它也适用于重载页面...
这个代码没有任何效果
var newUrl = $.query.set('aid', a_id);
无需重新加载页面怎么办......
我怎么也离不开谁重新加载页面...
感谢
Pradyut
印度
我得到了解决......
变化#
可以获取和使用javascript
location.hash = 'something=anything'
谢谢
设置查询字符串Pradyut
印度之后的查询字符串
我不明白 - 这对你有什么帮助?你不改变查询字符串 - 你正在改变主播。 – EdenMachine 2011-01-14 00:01:25
用上面的javascript读取哈希值,用js调用ajax数据修改dom元素... – 2011-01-14 04:17:32
这不会改变查询字符串,它会改变锚点 – 2011-10-29 16:34:42
如果不重新加载页面,则无法更改查询字符串。
这应该是公认的答案。查询和片段之间有区别[这里](http://en.wikipedia.org/wiki/Uniform_resource_locator) – nothing9 2014-11-07 15:45:31
您可能会发现有用的另一个解决方案是烧烤jQuery插件。这里有一个例子: http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/
谢谢先生回复... btw我讨厌非蔬菜:-) – 2010-10-16 17:47:27
如果你只是想改变散列,你认可的解决方案可能工作正常。但是,要修改查询,您需要使用history.pushState。不过,它仅适用于使用HTML5 History API的网页浏览器。
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
什么你问做没有意义。如果不重新加载页面,您无法在浏览器的地址栏中更改地址。更改查询字符串会更改地址,并且必须要求页面重新加载新地址。 – meagar 2010-05-13 19:16:02
这确实有道理。他正在寻找散列属性,如下所述:http://ajaxpatterns.org/Unique_URLs – Cuga 2010-09-30 04:33:51