给Micolog增加评论用户信息记忆功能

Micolog在firefox和chrome下可以实现评论用户信息cookies载入功能,IE下就失效了

现在来为ie增加写入cookie和读取cookie的功能,以下代码也适合firefox和chrome。

第一种方法

给主题文件的comments.html增加js代码

<script>  

if (document.cookie != “”) {
         document.getElementById(‘cookiesbox’).checked=false;
         getCookies();
}

   function login()
   {
   var author=document.getElementById(‘author’).value;
   var email=document.getElementById(‘email’).value;
   var url=document.getElementById(‘url’).value;
     if (document.getElementById(‘cookiesbox’).checked) {
         setCookies(author, email, url);
     }
   }
   function setCookies(author, email, url) {
     var Then = new Date();
     Then.setTime(Then.getTime() + 365 * 24 * 60 * 60 * 1000);
     document.cookie = “author~” + author + “&#emai~” + email +”&#url~”+ url + “&#;expires~” + Then.toGMTString();
     //alert(document.cookie);
}

function getCookies() {
     var cookieString = new   String(document.cookie);
     if (cookieString.indexOf(“&#”) > 0) {
         var cooke = cookieString.split(“&#”);
         document.getElementById(“author”).value = cooke[0].substring(cooke[0].indexOf(“~”) + 1, cooke[0].length);
         document.getElementById(“email”).value = cooke[1].substring(cooke[1].indexOf(“~”) + 1, cooke[1].length);
         document.getElementById(“url”).value = cooke[2].substring(cooke[2].indexOf(“~”) + 1, cooke[2].length);
     }
}

</script>

改<input name=”submit” type=”submit” id=”submit” value=”提交留言” onClick=”login();”/>此行,增加红色部分。

再在其后 增加

<INPUT TYPE=”checkbox” NAME=”cookiesbox” id=”cookiesbox” checked=”ture”/><label for=”cookiesbox”>记住我</label>

这样可以实现在刷新或者打开其他页面时,保留评论用户信息。

第二种方法

创建cookies.js在 comment.html中加

<input name=”submit” type=”submit” id=”submit” value=”提交留言” onClick=”login();”/>

<!–[if IE]><SCRIPT src=”http://hou-kai.appspot.com/themes/Devart/cookies.js” type=text/javascript></SCRIPT><![endif]–>

注意input在调用cookies.js之前

//cookies.js

function setcookie(name,value){
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + “=”+ escape (value) + “;expires=” + exp.toGMTString();
}
function getcookie(name){
var arr = document.cookie.match(new RegExp(“(^| )”+name+”=([^;]*)(;|$)”));
if(arr != null){return unescape(arr[2]);} else {return “”;}
}
function login(){
setcookie(“author”,document.getElementById(‘author’).value);
setcookie(“email”,document.getElementById(‘email’).value);
setcookie(“url”,document.getElementById(‘url’).value);
}
function loadcookies(){
document.getElementById(“author”).value = getcookie(“author”);
document.getElementById(“email”).value = getcookie(“email”);
document.getElementById(“url”).value = getcookie(“url”);
}

if (document.cookie != “”) {loadcookies();}

 

部分js参考百度博客

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>