プロが教える店舗&オフィスのセキュリティ対策術

CGIとJavaScriptを使って、画像を単位とした異なる図形を順番に表示することを意図した以下のページを作成しています。

http://tamis.co/test.html

下記の環境では、意図した通りに動作しているのですが、
Win7 Pro SP1 / Google Chrome 45.0.2454.101m
Win7 Pro SP1 / Firefox
iOS8.0.2 / Safari

OSX 10.8.4 / Safari 6.0.5 では2巡目から画像が表示されず、
Win7 Pro SP1 / InternetExplorer 11.0.9600.18015 では同じ図形が繰り返されてしまいます。

jQueryのajaxで、CGIから値を取得するあたりの処理に原因があるのではないか?と推測しているのですが、原因を特定できません。

どういった原因が考えられるでしょうか。

A 回答 (1件)

おそらく下記がまざった不都合かと



・取得タイプが GET の場合、パラメータ cache を true にしないとキャッシュで取得値が毎回同じになる。
・データタイプが html とあるのに、http://tamis.co/points.cgi が返している値が単なるテキストで、文字列に、HTMLエンコード対象文字が含まれている。データタイプを(誤って)htmlとしているため、ブラウザによって誤動作する可能性がある。

・取得メソッドを POST にするか、GET のままならば cache を true にする。
・データタイプを json として、json データを返却する。
・テキストのままならば、区切子に変な記号を使わない
    • good
    • 0
この回答へのお礼

ご親切に丁寧なご回答をいただき、ありがとうございました。お礼が遅くなり申し訳ありません。

IEについては、ご指摘の通り、メソッドをPOSTにすることで解決できました。
OSX/Safariについては、存在しないidに対してremoveChildを実行していたことがエラーとなり、そこで処理が止まっていたようです。(それ以外のブラウザでは、処理が続行されていたようです。)

お礼日時:2015/10/03 16:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!