javascript – 为什么Chrome在使用后退按钮后没有显示所选元素?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么Chrome在使用后退按钮后没有显示所选元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个< select>包含单个<选项>的标记元件:
<select id="someselect">
  <option value="2">B</option>
</select>

单个<选项>稍后使用jQuery替换.新的选项列表始终包含旧选项:

selected = $('#someselect').val();
$('#someselect').html('<option value="1">A</option><option value="2">B</option>').val(selected);

这按预期工作.但是,当从Google Chrome浏览器中的网页导航然后单击后退按钮时,会发生一些奇怪的事情. select标签返回到其初始状态(有意义),但是单个<选项>元素未被选中!

Chrome中此行为的原因是什么?

我创建了一个最小的工作示例:http://dl.dropbox.com/u/27566470/backdemo.html
最初只有一个<选项>.首先单击“单击”以替换选项(但保持选中“B”选项),然后单击“Google”导航,然后使用Chrome的后退按钮查看< select>标签只有一个未选中的选项.

编辑:澄清一下,我对如何解决这个问题不感兴趣.我很好奇为什么Chrome会像这样工作.使用后退按钮后提供原始(未修改的)DOM是有道理的,但为什么没有选择唯一的选择选项?

解决方法

要回答我自己的问题,它似乎是一个Chromium bug.我已经提交了一个目前已经确认和分类错误http://code.google.com/p/chromium/issues/detail?id=125509 所以希望将来修复这个:)

猜你在找的JavaScript相关文章