下記ソースでジャバスクリプトを使って
ページアクセス毎にランダムにテキスト文章を表示しているのですが
この方法ですと度々アクセス毎に同じテキスト文章が2回続けて表示される事があり
へたしたら3回連続とかもたまにあるのでちょっとこれだと困っています。
せめて1回目に表示された文章が3回目に表示される位は全然問題ないのですが2回連続はちょっと問題ありなんです。
ちなみに下記ソースは例ですので同一ページにジャバスクリプトを記述していますが実際に使用する時はジャバスクリプトは
専用のjsファイルにまとめて記述してそのjsファイルを読み込む形で使用します。
ジャバスクリプトに関してはずぶの素人でして出来ればサンプルソースなどを書いていただきそのままコピペで
使える状態でアドバイスいただけると助かります。
宜しくお願いします^^
<html>
<body>
<script language="javascript">
<!--
msg = new Array();
msg[0] = "1";
msg[1] = "2";
msg[2] = "3";
msg[3] = "4"
msg[4] = "5"
msg[5] = "6"
msg[6] = "7";
i = Math.floor(Math.random() * msg.length);
document.write(msg[i]);
//-->
</script>
</body>
</html>
同じ表示中ならともかく、アクセスごとにというとCookieの使用になるでしょうか。
http://www.tohoho-web.com/wwwcook.htm#CookieWrite
http://www.red.oit-net.jp/tatsuya/java/cookie.htm
<script language="javascript"> <!-- msg = new Array(); msg[0] = "1"; msg[1] = "2"; msg[2] = "3"; msg[3] = "4"; msg[4] = "5"; msg[5] = "6"; msg[6] = "7"; var i = Math.floor(Math.random() * msg.length); if(document.cookie != "") { var p = document.cookie; while ( p == i ) { i = Math.floor(Math.random() * msg.length); } } document.write(msg[i]); document.cookie = i; //--> </script>
のような感じでしょうか。
当然のことながら、Cookieが無効だと効果はありませんが・・・。
ご回答ありがとうございました。
一発解決でした^^
サンプルソースのみならずCookieの解説ページまで付けていただき
至れり尽くせりで本当に助かりました。
まあーーCookieが無効の場合は割り切ってあきらめるしかないと思います。