我很确定我不能做我实际要求的事情,但我想知道这个问题是否有某种解决方法。
我有一个页面,其中包含一个包含多个选项的下拉SELECT表单元素。如果选择了一个特定选项(在这种情况下,第一个项目),我们将显示其他内容(通过jQuery)。这很好。
但是,如果我选择第2项,那么附加内容就会消失。然后我转到另一页然后点击BACK。在这一点上,页面正确地保留了隐藏的附加内容(因为它是最后一个状态),但SELECT菜单已被重置为第一个项目。然后我必须单击SELECT,选择一个不同的选项,然后再次选择它,选择第一个选项,最后将其他内容带回来。
我无法从缓存页面上的内容中触发Javascript(或者有办法吗?)还有其他聪明的选择吗?
我提出的一个选项是对包含快速“重置元素”检查的SELECT菜单的区域应用某种鼠标悬停操作。这看起来有点hacky,当然,会为人们产生奇怪的屏幕重绘。
答案 0 :(得分:0)
您可以记录用户操作已发生并使用JavaScript重新执行。您可以将其存储在cookie中,然后在页面加载时检查它并重置所需的元素。
答案 1 :(得分:0)
根据您的具体情况,here的答案就足够了:
现在大多数浏览器都支持导航时间(ie9 +):http://www.w3.org/TR/navigation-timing/#sec-navigation-info-interface
你可以像这样使用它:
if (!!window.performance && window.performance.navigation.type === 2) {
// page has been hit using back or forward buttons
} else {
// regular page hit
}