我有一个使用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
的文件中答案 0 :(得分:2)
我不明白这个问题,你应该能够使用正文的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!");
}
答案 1 :(得分:1)
将脚本放在单独的文件中是一件好事。 将onload函数添加到脚本 -
<强>窗口强> .onload = checkCookie; //(没有括号)并将其从html中删除。