1. まとめトップ
  2. IT・ガジェット

iOS6のSafariでWebサイトが正しく動作しない問題がかなり深刻・・

iOSのSafariではAjaxの動作にバグがあり、Webサイトが正しく動作しないという問題が発生しています。

更新日: 2012年09月24日

mochitaさん

  • このまとめをはてなブックマークに追加
75 お気に入り 90799 view
お気に入り追加

問題その1. AjaxのPOSTがキャッシュされる

本来ならPOST時にサーバにアクセスしてWebサイトを表示するが、iOSのSafariではAjaxのPOSTがキャッシュされてしまうため、同じURLをリロードした時にサーバにアクセスせずにキャッシュしたデータが表示されてしまう。

どんな時にPOSTをキャッシュする?

・Cache-ControlもExpiresも無い場合
・Cache-Control max-age=0指定 と Expires指定の場合
iOS6 Mobile SafariはPOSTをキャッシュする。

Cache-Control: no-cacheを指定した場合POSTをキャッシュしない

レスポンスヘッダにCache-Control:no-cacheを指定することで回避できる。

サーバ側のヘッダ指定が出来ない場合の回避策

ajax通信をする前にtimestampをパラメータに付加して送ることで毎回違う値が付加されるので、ブラウザは別物がPOSTされると判断してキャッシュを使いません。

iOS6でのAjaxのキャッシュ問題は早くApple側で何とかして欲しいな。postパラメータにタイムスタンプ入れたら良いって話だけど、対応されてないサイトが結構あって困る。

iOS6のwebviewでajaxのPOSTメソッドでキャッシュがクリアできないバグがあるらしい。apacheの設定とかjQueryのajaxメソッド使った回避方法あり。 / “Is Safari on iOS 6 caching $…” htn.to/GmP9Em

iOS6のSafari/WebViewはPOSTをキャッシュしてしまうらしい http://t.co/Hqj2GeWk なんというバグだ。。。そしてそれはRFC2616のスペックをviolateしてると怒ってる人がいる http://t.co/jjiNMIij

ios6 POST キャッシュされる問題で、jqueryのajax()を参考にcakephpのJsヘルパーではoptionsに'headers'=>array('cache-control'=>'no-cache')追加して取り合えず対応した(´・ω・`) #cakephp

問題その2.ロード現況の回転表示アイコンが止まらない

ページのあらゆる部分のロードが終わると回転が止まる小さなアイコンが、Webサイトによってはいつまでたっても止まらない。

ページが完全にロードされる前にロングポーリングのためのコネクションが始まってしまうため

@mazhaj iOS6に更新されているんでしたっけ? であれば、どうもiOS6のSafariにはどうも不具合があるようで、AjaxというWebでよく使われる技術に問題があり、回転する小さいアイコンが止まらない現象が起きているそうです。 htn.to/bk7QkB

問題その3.同時に1つのコネクションしか許可されないためロングポーリングが利用できない

Ajaxでよく使われるロングポーリングとは、Webサーバとブラウザを長時間つなぎっぱなしにして、サーバーから情報を送りたいときに初めてレスポンスを返すこと。iOSのSafariでは同時に1つのコネクションしか許可されない。

iOS 6ではこの部分の処理が全体的に正しくない

ブラウザとサーバのあいだに複数の接続を開けずに、一度に一つの接続しか開けない。だから、最初のリクエストが完全に、あるいはタイムアウトで終わるまで、次のたとえば画像のリクエストは待たされる。

ロングポーリングを使っているWebサイトではiOS 6のSafariからアクセスすると正しく動作しない

画像などを読み切る前にLong pollingが始まっても接続が複数あったからたまたま大丈夫だったけど、iOS6で1本になってしまったので接続を占有してはまるということらしい。 / “iOSのSafariではAjaxの動作が異常–すで…” htn.to/Jzxe6NW

これが原因かわからんけどiOS6だとhttp://t.co/4rgM987Iのトップページが上手く表示されない…。調べるのダルい / iOS 6のSafariではAjaxの動作が異常–すでにデベロッパたちは周知 http://t.co/yl9LIWUq

@macatic 画像が出ない件 あれ iOS6 safari の不具合のようです。並列接続できない、ページが完全にロードされる前に遅延読込のAjaxが開始されてしまう、ランダムな切断がおこるなど… iOS6 safariのみ特殊な設定いれないとダメかも(´・ω・`)

iOS6、地図だけじゃなくてAjaxにもバグとか、どんだけよ…

どこでもピグライフをiOS6でやると1個ずつしかアクションできないのはiOSのSafariのAjaxの仕様が関係してるみたいだね。  j.mp/OUAYdu #ピグライフ

IOS6のApple製Mapがイマイチなのでブラウザ経由GoogleMapsで何とかしようと思ったら、Ajaxの挙動までイマイチ!

iOS6のSafariはajaxだけじゃなくてcookieまわりもいろいろとバグが・・・

1





mochitaさん



  • 話題の動画をまとめよう