我有一些 jQuery 可以在用户执行操作后修改页面上的元素。这些在服务器端持久化,因此对用户来说一切看起来都很流畅。
当用户在场外单击然后点击后退按钮时,除 Opera 之外的所有浏览器都会重新请求该页面,因此用户仍然会看到更改。然而,对于 Opera,站点返回到它的 Jquery 之前的状态(因为它没有从服务器请求页面)。
我可以做一些讨厌的事情,比如检查浏览器并刷新 Opera,但显然这并不理想。
有什么更好的方法来解决这个问题吗?
最佳答案
您是否可以使用一些 HTML5 本地存储来在客户端持久保存这些更改(对于那些拥有 HTML5 兼容浏览器的用户)并优雅地降级为那些不兼容浏览器的服务器请求。
快速浏览后 - Opera 似乎开始在 Opera 10.5 中支持 LocalStorage(早在 2010 年初),我认为它也会自动更新,因此使用 Opera 的 2.7% 的用户中的大多数应该具有此功能。
我建议使用 http://www.modernizr.com/检查功能的存在,然后可能将结果存储在对象文字 JSON 中,并将结果存储到本地存储中(应该使存储和检索更容易!)
(HTML5 本地存储指南 - http://php-html.net/tutorials/html5-local-storage-guide/)
关于c# - Opera 后退按钮缓存功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714360/