2009-03-22 11 views
1

Ich habe ein Cookie, das ich mit Javascript und um zu überprüfen, ob es ersetzt werden musste Ich habe "onload = checkCookie()" in der Body-Tag des HTML, aber jetzt versuche ich zu platzieren js in einer anderen Datei und verlinke einfach mit dem Tag, aber wenn ich das tue, kann ich diese Funktion nicht mehr nur mit "onload" aufrufen, also habe ich mich gefragt, wie kann ich das tun? alle anderen habe ich erzählt mir gebeten, den Code dort zu lassen, aber ich möchte, dass meine Design in Schichten = SJavascript Cookie onload Anruf

hier ist die js trennen:

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

Alles in einer Datei Init.js

genannt ist

Antwort

1

das Skript in einer separaten Datei zu erhalten ist eine gute Sache. Fügen Sie dem Skript die Onload-Funktion hinzu -

Fenster .onload = checkCookie; // (keine Klammer) und nimm es aus dem HTML heraus.

+0

Danke! genau das, was ich brauchte – Tsundoku

2

ich das Problem nicht verstehen, sollten Sie den Körper des onload nutzen können Javascript ausführen, auch wenn es aus einer externen Datei ist, wie folgt aus:

Dies ist der html:

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

Dies ist verbunden javascript:

var hello = function() 
{ 
    alert("Hello!"); 
}