Fork
0
Fav
0
View
10000
  • Play

Fullscreen

Smart Phone

  • Readme
  • JavaScript 73 lines
  • HTML 0 lines
  • CSS 10 lines
参考にさせていただいたサイト様
http://d.hatena.ne.jp/oogatta/20121228/1356696182

bfcache対策や、safariジェスチャーバックのキャッシュ対策です。

ios7になってから極端にブラウザバック時にキャッシュが強く残ったり、
onloadイベントが発火しなかったりして涙目になりました。

※bfcacheの場合、サーバサイドも影響しますが、ここでは割愛します

現象:
1.ブラウザバック・フォワードするとonloadイベントが発火しない
2.上記に加えてSESSIONが有効かつサーバサイドでキャッシュを有効にしている
(no-store, no-cacheでない)場合で「formタグにautocomplete="off"が付いていない」場合に
フォームの値がHTMLと異なることがある(通常であれば期待する動きですが・・)

どちらも特定のAJAXで意図しない動作になる可能性があります
1に関してはブラウザバックでもAJAXを最初から実行させたい時に、
2に関してはAJAXパラメータをForm要素から引っ張ってくる時など。

対処:
1.onpageshow()を使う
2.Form要素をdefaultValueやdefaultCheckedに初期化する or GETならURLパラメータから取得して復元する

1はそれなりに良くあるかもしれませんが、2は早々はまらないと思います。
それでも残念ながら2で困ったことに遭遇してしまった過去がありますので
忘れないようにメモしておきます。


[WEBサイト]
http://oredon.guitarkouza.net/

[twitter]
https://twitter.com/oredon_taisuke

:::::::::::::::::

[HTML5 で3Dゲーム作りました]
http://is.guitarkouza.net/

:::::::::::::::::

[HTML5 で2Dゲーム作りました]
http://oredon.guitarkouza.net/

:::::::::::::::::
  • ブラウザバック対策をJavaScriptでやったときのメモ
  • jQuery v1.11.0
  • ブラウザバック対策をJavaScriptでやったときのメモ

play

Complete!

Description What kind of game?

Control Device

jsdo.it websocket controller

Mouse

keyboard

smartphone

Fullscreen

oredon

Author

得意領域はUIエンハンス系です。 最近はCanvas周りを重点的に学習しています。

Default Panel

Size

  • Width: px
  • Height: px

code

QR Code

Discussion

Questions on this code?

Tags