From: [url]http://www.ibm.com/developerworks/cn/web/wa-aj-when/index.html?ca=drs-cn&ca=dkw-Ajax[/url]
如果站点使用 Ajax 更新的速率过快,用户可能会以为后退和前进按钮以及书签出现了问题。(Flash 站点与纯 Ajax 站点一样,也容易使人产生这种感觉。)用户希望可以单击后退按钮返回上一页或上一个视图。更加不利于用户体验的是,当用户再次单击前进按钮时,他们没有回到刚才查看的那个视图,而是回到了初始页面,就像刷新了 Ajax 站点一样。
如果用户临时加载了一个页面,然后返回到刚才查看的站点,结果发现页面已经变了,那么他们可能会很失望。不幸的是,浏览器很可能将页面加载为初始状态,经常丢失所有的更改。与此类似,如果用户希望与他人分享某个站点的特定视图或页面,或者将一个页面加入书签,他们认为并相信只需要从浏览器复制 URL 并使用即可(目前确实如此)。
如果页面的内容更改过多,使用户感觉像是一个新的页面,那么还不如直接向他们发送一个新页面。但是,如果开发人员确实需要使用 Ajax 更改页面内容,最好使用 Ajax History 工具存储后退和前进按钮以及书签功能。这些工具使用哈希值(例如,“#tab3”)改变 URL,而无需加载一个新页面。当用户单击后退或前进按钮,或者加载一个加入书签的 URL 时,JavaScript 代码查看哈希表并重新生成用户希望的视图。当然,这只对支持 JavaScript 语言的浏览器有用。
如果站点使用 Ajax 更新的速率过快,用户可能会以为后退和前进按钮以及书签出现了问题。(Flash 站点与纯 Ajax 站点一样,也容易使人产生这种感觉。)用户希望可以单击后退按钮返回上一页或上一个视图。更加不利于用户体验的是,当用户再次单击前进按钮时,他们没有回到刚才查看的那个视图,而是回到了初始页面,就像刷新了 Ajax 站点一样。
如果用户临时加载了一个页面,然后返回到刚才查看的站点,结果发现页面已经变了,那么他们可能会很失望。不幸的是,浏览器很可能将页面加载为初始状态,经常丢失所有的更改。与此类似,如果用户希望与他人分享某个站点的特定视图或页面,或者将一个页面加入书签,他们认为并相信只需要从浏览器复制 URL 并使用即可(目前确实如此)。
如果页面的内容更改过多,使用户感觉像是一个新的页面,那么还不如直接向他们发送一个新页面。但是,如果开发人员确实需要使用 Ajax 更改页面内容,最好使用 Ajax History 工具存储后退和前进按钮以及书签功能。这些工具使用哈希值(例如,“#tab3”)改变 URL,而无需加载一个新页面。当用户单击后退或前进按钮,或者加载一个加入书签的 URL 时,JavaScript 代码查看哈希表并重新生成用户希望的视图。当然,这只对支持 JavaScript 语言的浏览器有用。