JavaScript を使って、利用規約を読ませるスクリプト
件の無断リンクの話に便乗して、ユーザに無理やり利用規約を読ませるコードを JavaScript で書いてみた。
誰かが document.referrer 使ったコードを出してたけど、こっちは document.cookie を使用してみた。
test.html
<html> <head> <script language="javascript" src="rule.js"></script> <script language="javascript"> html = '<span style=\"color:red\">さんぷるてきすと</span>'; </script> </head> <body> <div id="main">ブラウザが対応していません。</div> </body> </html>
rule.js
key = "agress_key=ABCDEFG"; rule = 'ほげほげ。規約に同意しますか?<br/><button onclick=\"SetCookie()\">同意する</button> <button onclick=\"location.href=\'http://www.yahoo.co.jp\';\">同意しない</button>'; // ここに規約を全部書く function SetHtml(html) { if (document.all) { document.all("main").innerHTML = html; } else if (document.layers) { body = document.layers["main"]; body.open(); body.write("<div>"); body.write(html); body.write("</div>"); body.close(); } else if (document.getElementById) { document.getElementById("main").innerHTML = html; } } function SetCookie() { if (document.cookie == null || document.cookie.indexOf(key) < 0) { document.cookie = key; ShowBody(); } } window.onload = function() { SetHtml(document.cookie == null || document.cookie.indexOf(key) < 0 ? rule : html); }
クッキー key が設定されてなかったら利用規約を表示して、そうじゃなければ本文を表示するスクリプト。ぶっちゃけ手抜き。JavaScript あまり使ったこと無いし。
一応、cgi 使えなくてもそれらしいものは書けますよ〜との意味を込めて作りました。万一使用する場合は at your own risk でお願いします。文句言われても責任もてん (^-^;;
あと、ページ本文自体はソース見れば閲覧可能だから、最低限 escape とかしたほうが良いのでは、と思う。あるいは外部ファイルに落とし込むか。