JavaScript を 1 回だけ実行し、Cookie に保存する必要があります。次に、関数を実行しようとするときに、Cookie が保存されているかどうかを確認します。保存されている場合は、関数をトリガーしないでください。
私が必要とすることをしないので、このスクリプトにはエラーがあると確信しています:
var prom = getCookie('prom');
if (prom === null || prom === '0')
{
if (document.getElementById('tst')){
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");
document.getElementById("tst").innerHTML=n;
setCookie("prom",'1',1);
}
}
「ログアウト」の「ログイン」を変更するためにスクリプトがトリガーされる HTML コード
<a href="login" title="log in" class="login_button" id="tst">Login</a></span>
Cookie スクリプト:
function setCookie(c_name, value, exdays) {
var exdate = new Date();
if (exdays) exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays) ? '; expires=' + exdate.toUTCString() : '');
document.cookie = c_name + "=" + c_value;
}
function getCookie(name) {
var re = new RegExp(name + "=([^;,]+)");
var value = re.exec(document.cookie);
return (value !== null) ? unescape(value[1]) : null;
}
http://jsfiddle.net/8yZaP/11/の場合の Jsfiddle テスト