読者です 読者をやめる 読者になる 読者になる

Firefoxでhistory.backした時の挙動をIEやChromeに合わせる方法

javascript firefox

知らなかったのでメモ。
例えば、入力→確認画面と遷移するときに、入力画面でボタンをdisabledにして移動し、確認画面でhistory.backで戻ったケース。
iechromeなら戻った画面でも普通にボタンを押せるんだけど、ffだとdisabledのままになってしまう。
ffの場合、history.backだとキャッシュによりonloadが呼び出せれないため、これを呼び出すようにしたうえで、disabledを解除してやる。

html

<body onunload="">
 <form>
  <input type="submit" id="sbt" />
 </form>
</body>

onunload=""でキャッシュを無効にする

javascript

$(function(){
 $('#sbt').attr('disabled', false);
});

history.backで戻った時にdisabledを解除してやる

参考サイト
戻るボタンとonloadイベント - 北海道苫小牧市出身のPGが書くブログ


2015/8/20追記
IE11でもFFと同様の現象が発生。しかも↑のやり方でも対応できないので、onpageshowを使えばOK。
FF&IE11どちらにも効果があり、onunloadも不要となる。
jquery ブラウザバックで戻った場合も$(function(){});は実行される - 技術ブログ
ここを参考にすること

最近FXが好調。メインはSBIFXトレードです。
低予算(1000通貨)で比較 | FX比較 低予算から始めるFXランキング 初心者の外為入門