1

我有一个使用 javascript 做的 cookie 并检查它是否必须被替换我在 HTML 的 body 标记中使用了“onload=checkCookie()”,但是现在我试图将 js 放在另一个文件中,只是使用标签链接它,但如果我这样做,我不能再使用“onload”来调用这个函数,所以我想知道我该怎么做?我问过的其他人都告诉我把代码留在那里,但我想把我的设计分层=S

这是js:

function getCookie(c_name){
    if (document.cookie.length>0){
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1){ 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}

function setCookie(c_name,value,expiredays){
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function checkCookie(){
    username=getCookie('username');
    if(username!=null && username!=""){
        alert('Welcome again '+username+'!');
    }else{
        username=prompt('Please enter your name:',"");
        if(username!=null && username!=""){
            setCookie('username',username,365);
        }
    }
}

一切都在一个名为 init.js 的文件中

4

2 回答 2

3

我不明白这个问题,即使它来自外部文件,您也应该能够使用正文的 onload 来执行 javascript,如下所示:

这是html:

<html>
<head>
<script type="text/javascript" src="script.js"></script>
</head>
<body onload="hello()">
</body>
</html>

这是链接的javascript:

var hello = function()
{
    alert("Hello!");
}
于 2009-03-22T01:33:07.693 回答
1

将脚本放在单独的文件中是一件好事。将 onload 函数添加到脚本中-

窗口.onload=checkCookie; //(无括号)并将其从 html 中取出。

于 2009-03-22T03:16:57.833 回答