2

我使用 iUI 框架来创建网站。如果您对此不熟悉,则您有一个由 div 组成的页面,并且您使用片段标识符在用户之间导航。

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

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

任何人都知道如何将页面刷新为片段?

4

2 回答 2

8

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

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

window.location = mywebsite.com/#_fragment

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

window.location = mywebsite.com/?refresh=1#_fragment

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

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

于 2009-05-03T21:15:56.720 回答
1

我相信你会使用 iUI 来构建 iPhone 友好的网络应用程序。我不确定您是否已经评估过 iWebkit。我查看了 iUI 和 iWebkit,发现 iWebkit 功能更强大、更稳定且易于实现。

于 2009-05-04T17:21:16.357 回答