请看这个 HTML:
<script>
function insert() {
document.getElementById("add").innerHTML="<input name=a>";
}
</script>
<button onclick="insert()">Insert new textbox</button>
<form>
<div id="add"></div>
<textarea name=b>a</textarea>
<a href="other.html">Go</a>
<!-- The content of other.html does not matter -->
</form>
并在Chrome中打开此页面(Win7 64bit, 24.0.1312.52 m)
- 在 textarea 中添加一些文本,例如“b”(textarea 的值将是“ab”)
- 选择“Go”链接,显示 other.html
- “返回”到这个页面,那么textarea的值依然是“ab”
- 按“插入新文本框”
- 选择“前往”链接
- 再次“返回”,然后 textarea 的值回到“a”!
不仅是这个过程,一旦按下“插入新文本框”,当我“返回”到这个页面时,Chrome 就不再记得表单的变化了。
这在其他浏览器中不会发生(它们可以将值“ab”保留到最后):
- 歌剧 11.11
- 火狐12.0
- IE 9.0.12
这是Chrome的错误吗?或者我有什么可以避免的?
演示:http: //jsfiddle.net/DerekL/Lsnvp/