【发布时间】:2012-04-26 13:01:54
【问题描述】:
我有一个 <select> 标记,其中包含一个 <option> 元素:
<select id="someselect">
<option value="2">B</option>
</select>
单个 <option> 稍后被 jQuery 替换。新的选项列表始终包含旧选项:
selected = $('#someselect').val();
$('#someselect').html('<option value="1">A</option><option value="2">B</option>').val(selected);
这按预期工作。然而,当在谷歌浏览器中离开网页然后点击后退按钮时,会发生一些奇怪的事情。选择标签回到了它的初始状态(有意义),但没有选择单个 <option> 元素!
Chrome 出现这种行为的原因是什么?
我创建了一个最小的工作示例:http://dl.dropbox.com/u/27566470/backdemo.html
最初只有一个<option>。首先点击“点击”替换选项(但保持选择“B”选项),然后点击“谷歌”导航离开,然后使用Chrome的后退按钮查看<select>标签只有一个未选中的选项。
编辑:澄清一下,我对如何解决这个问题不感兴趣。我很好奇为什么 Chrome 会这样工作。使用后退按钮后提供原始(未修改的)DOM 是有道理的,但为什么没有选择唯一的选择选项?
【问题讨论】:
-
你点击返回,你的页面得到
refreshed,你可以通过URL中的GET方法得到它并取得进展或sessions
标签: javascript jquery html google-chrome