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

問題がわかりません。次のように、外部ファイルからのものであっても、ボディのオンロードを使用して 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 に答える