重定向/刷新到片段标识符

2 jquery iui fragment-identifier

我使用iUI框架来创建一个站点.如果你不熟悉这个,你有一个由div组成的页面,你用片段标识符在用户之间导航.

这样做的问题是,如果您的用户添加内容,则在刷新之前它们是不可见的.在我的sistuation中,他们通过jquery帖子将数据添加到列表中,但就像我说他们在刷新之前什么都看不到,一旦你刷新它就会转移到父div,因为#fragment已经丢失了.

所以我设法让页面在使用window.location = mywebsite.com/#_fragment更新后转到mywebsite.com/#_fragment,但实际上并没有重新加载页面.

有任何线索有如何刷新页面片段?

joh*_*vey 8

URI片段标识符仅在客户端,并且不会发送到服务器,即,如果您检查HTTP请求标头,则不会看到#_fragment.此外,对仅修改片段的URI进行更改不会触发任何DOM事件.

虽然有一些变通方法可以使用setInterval()调用来主动监视document.location.hash属性,但最简单的方法是简单地更改查询字符串arg.例如,而不是:

window.location = mywebsite.com/#_fragment
Run Code Online (Sandbox Code Playgroud)

包括一个查询字符串组件,如:

window.location = mywebsite.com/?refresh=1#_fragment
Run Code Online (Sandbox Code Playgroud)

"?refresh = 1"(或任何其他键/值对)的存在将导致浏览器向服务器发出请求,同时保留#hash标识符.

有关JS位置对象的更多信息,请参见此处:http: //docs.sun.com/source/816-6408-10/location.htm