我有一个脚本,显示一个cookie值throw document.write。
如何刷新脚本 - 每30秒更新一次?
或者,如果它是不可能的,再次获得cookie值。 value = GetCookie('VisitorName');
或者,将其放入iframe并重新加载iframe scr。
代码如下:
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function Who(info) {
var VisitorName = GetCookie('VisitorName')
if (VisitorName == null) {
VisitorName = "Dear visitor";
SetCookie ('VisitorName', VisitorName, exp);
}
return VisitorName;
}
function set() {
VisitorName = prompt("");
SetCookie ('VisitorName', VisitorName, exp);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc>2) ? argv[2] : null;
var path = (argc >3) ? argv[3] : null;
var domain = (argc >4) ? argv[4] : null;
var secure = (argc >5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : (";expires=" + expires.toGMTString())) +
((path == null) ? "" : (";path=" + path)) +
((domain == null) ? "" : (";domain=" + domain)) +
((secure == true) ? ";secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
document.write("" + Who() + ",")
答案 0 :(得分:2)
我认为你想要setTimeout
和setInterval
functions here。
function myFunc() {
alert('Hi')
}
setTimeout(myFunc, 30000) // 1000 ms = 1 second
所以我不确定你想要每30秒重复一次的功能,但它可能看起来像这样:
function MyTimerFunction() {
document.write("" + Who() + ",")
}
MyTimerFunction(); // runs MyTimerFunction immediately
setInterval(MyTimerFunction, 5000) // run MyTimerFunction it every 5 seconds