只运行一次javascript

时间:2013-04-05 19:56:11

标签: javascript cookies

我只需运行一次javascript,保存到cookies,然后,当尝试执行功能时,检查是否保存了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代码,其中脚本触发更改'Logout'中的'Login'

<a href="login"  title="log in" class="login_button" id="tst">Login</a></span>

Cookies脚本:

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;
}

Jsfiddle测试http://jsfiddle.net/8yZaP/11/

1 个答案:

答案 0 :(得分:6)

更改

if (prom = '0'){

if (prom === '0'){

(当然,假设getCookiesetCookie保持类似于sessionStorage)。