0

この 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) で開きます。

  • 「b」のようなテキストをテキストエリアに追加します(テキストエリアの値は「ab」になります)
  • 「移動」リンクを選択すると、other.html が表示されます
  • このページに「戻る」と、textarea の値は「ab」のままです。
  • 「新しいテキストボックスを挿入」を押します
  • 「移動」リンクを選択
  • もう一度「戻る」と、textarea の値が「a」に戻ります。

この手順だけでなく、「新しいテキストボックスを挿入」を押すと、このページに「戻る」ときにフォームの変更が Chrome に記憶されなくなります。

これは他のブラウザでは発生しません (値を最後まで「ab」に保つことができます):

  • オペラ 11.11
  • Firefox 12.0
  • IE 9.0.12

これはChromeのバグですか?または、これを回避する何かがありますか?

デモ: http://jsfiddle.net/DerekL/Lsnvp/

4

0 に答える 0