Html iOS Safari“后退缓存”按钮

Html iOS Safari“后退缓存”按钮,html,css,ios,caching,safari,Html,Css,Ios,Caching,Safari,我很好奇是否有人在iOS Safari中遇到过以下问题: 用户导航到站点 用户点击导航项目 单击导航项目将显示子导航 用户单击子导航项 用户然后单击后退按钮 副导航自动打开(问题) 当您最初单击主导航项目时,它应显示子导航。最初会发生这种情况,但当用户转到子导航项目页面,然后单击后退按钮时,子导航将自动打开。当用户单击“前进”按钮时,它将转到“子导航项目”页面,并且导航仍处于打开状态 除非进行硬刷新,否则页面似乎会缓存以前的页面状态,包括用户交互 以下是标记和样式的基本示例: 如有任何线索

我很好奇是否有人在iOS Safari中遇到过以下问题:

  • 用户导航到站点
  • 用户点击导航项目
  • 单击导航项目将显示子导航
  • 用户单击子导航项
  • 用户然后单击后退按钮
  • 副导航自动打开(问题)
当您最初单击主导航项目时,它应显示子导航。最初会发生这种情况,但当用户转到子导航项目页面,然后单击后退按钮时,子导航将自动打开。当用户单击“前进”按钮时,它将转到“子导航项目”页面,并且导航仍处于打开状态

除非进行硬刷新,否则页面似乎会缓存以前的页面状态,包括用户交互

以下是标记和样式的基本示例:

如有任何线索/帮助,将不胜感激

[更新]


上面的链接只是一个展示标记和CSS的示例。网站上的实际链接不是散列标签,它们确实有指向新页面的实际链接。

问题在于页面实际上没有离开当前页面,其href是页面上的锚定位置,不会进行硬页面刷新。您正在使用历史API吗


仅供参考,我无法在JSFIDLE中复制此内容。

谢谢!上面的链接只是HTML和CSS的示例,实际的站点没有散列标签,也没有连接到历史API。在这里添加我的响应。iOS不支持:悬停,所以你会遇到像这样的怪事。我的建议是使用Modernizer或其他解决方法在页面刷新时重置这些导航状态。