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参考百度博客