• 締切済み

SafariだけJavascriptが動作しない。

WEBサイトを作成している者です。Javascriptに関しては初心者です。質問内容は、キャンペーン等の更新頻度が高いサイトを閲覧した時にキャッシュが残っていて前の内容が表示する事例があったため、ブラウザで強制的に更新をかける事になりました。metaタグ内にnonCashを指定しましたが、複数ブラウザでうまく機能する時としない時がありました。Javascriptで何とかならないかと下記内容を試してみましたがMac、Windows両方のSafariだけリロードが停止せず繰り返すためブラウザ動作が重くなり画像もチカチカして使えません。Safariでリロード回数を制御する方法が分かりません。お力を貸してください。よろしくお願いします。 <script type='text/javascript'> window.onload=function(){ var c = 2; //リロード回数 n = document.cookie; if (n > 0){ n = n - 1; } else { n = c; } document.cookie = n; if (n > 0) { setTimeout("location.reload(true)", 1000); } } </script>

みんなの回答

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.2

document.cookie = n;ってなんですかこれ…… Cookieには「name=value;」の形で代入しないとダメですよ

horohoro28
質問者

お礼

ご回答ありがとうございました。 結局、自力では解決できなく詳しい方に頼んで作成修正して頂きました。 お手数おかけいたしました。

horohoro28
質問者

補足

ありがとうございます。 Javascript等のプログラムは素人なもので、今まではググって見つけた物を充ててみる事で急場をしのいでいました。今回の案件もIE、Chrome、Firefoxはリロード回数も制御できました。Safariのみがリロードするけど回数制御が効かないのでした。具体的な修正点等がありましたら教えて頂けるとありがたいです。

回答No.1

window.onload、<body onload="">は、ブラウザキャッシュから読み込んだ場合はイベントが発生しない事があります。 </body>の直前に<script>を挿入し、直接実行してみてください。

horohoro28
質問者

お礼

ご回答ありがとうございました。お礼が遅くなり申し訳ありませんでした。 結局プログラミングに詳しい方が見つかり、新たに作ってもらいました。 私にはどこがどうなのか…詳しく説明できませんが全ブラウザで問題なく動作する事を確認しました。 コードを記載するべきなのでしょうが商用に作成して頂いたためココでの公開を控えさせて頂きます。申し訳ありません。

horohoro28
質問者

補足

プログラム素人で申し訳ありません。 具体的にどういったscriptを挿入すれば良いのでしょうか? ネットや本等を調べてみても解決策が分かりません。。よろしくお願いします。