2009-03-22 7 views
1

J'ai un cookie que j'ai fait en utilisant javascript et pour vérifier s'il a dû être remplacé j'ai utilisé "onload = checkCookie()" dans l'étiquette du corps du HTML, mais maintenant j'essaie de placer le js dans un autre fichier et juste le lier en utilisant la balise, mais si je fais cela, je ne peux plus appeler cette fonction en utilisant simplement "onload" alors je me demandais comment puis-je faire cela? tout le monde que j'ai demandé me dit de laisser le code, mais je veux séparer ma conception en couches = SJavascript Cookie onload Appelez

est ici les 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); 
     } 
    } 
} 

Tout se trouve dans un fichier appelé init.js

Répondre

1

Obtenir le script dans un fichier séparé est une bonne chose. Ajouter la fonction onload au script-

fenêtre .onload = checkCookie; // (pas de parenthèse) et le sortir du html.

+0

Merci! juste ce dont j'avais besoin – Tsundoku

2

Je ne comprends pas la question, vous devriez être en mesure d'utiliser le onload du corps pour exécuter javascript même si elle est d'un fichier externe, comme celui-ci:

Ceci est le code html:

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

C'est le javascript lié:

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