2009-03-01 121 views
4

我需要使用AJAX时页面刷新和后退按钮的解决方案。后退按钮和使用AJAX刷新

我使用简单的JavaScript为AJAX实现。

如果有人可以发送代码段,我将非常感激。

回答

1

基本上,你需要使用&监测URL的哈希部分...

http://.../path?parms#hashpart 

焕你改变了哈希,IIRC window.location.hash,也不会重新加载页面,但你的ajax可以监视并响应它。

5

如果您使用jQuery,则有the history plugin

+0

不错的答案,是否有可能做到这一点没有jQuery的? – praveenjayapal 2009-03-02 13:06:45

+0

任何可以用jQuery实现的东西都是可能的,通过查看插件的源代码,你可以弄清楚他们使用什么技术来做到这一点。 – 2009-03-02 16:10:21

2

我正在为此工作,请参阅我的question,该链接位于'更新'文本中。

0

onbeforeunload事件可以用来防止刷新,但是如果您导航或刷新,它会触发。如果您需要用户登录到应用程序,您可以始终显示一条通知消息,建议不要导航和刷新。如果用户点击你的应用程序注销按钮,设置一个var来禁用警告。也可能会做一个'关闭'按钮,做同样的事情。

2

这里有一个解决方案,在我的一些页面中使用了。将此添加到发生更改的页面。

window.onbeforeunload = function() { 
    window.name = "reloader"; 
     } 

这会在您离开这些页面时触发。如果有更改,您也可以触发它。这样它就不会不必要地重新加载需要重新加载的页面。 然后在你想在浏览器“返回”使用后重新加载的页面上。

if (window.name == "reloader") 
     { 
     window.name = "no"; 
     reloadPage(); 
     } 

这将触发你需要重新加载页面上重载... 希望这有助于:) 哦,顺便说一句,这是在JS。

0

尝试PathJS它不需要jQuery或任何其他附加库。