急啊,请问如何用cookie来控制弹出窗口,用JS写的!!!!

kevinzzy 2004-07-13 05:29:22
小弟是个初学者,对JS懂得很少,
现在有个功能不会做,希望那位高手能give me一份源代码,最好加注释

功能要求是,有个页面有弹出窗口,要求用cookie控制,每三个小时弹出一次
也就是说,如果你在三个小时内访问那一页,那么就只弹出一次窗口,

请高手告诉我,我现在急啊!!!
...全文
195 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinzzy 2004-07-13
  • 打赏
  • 举报
回复
5星就是5星,一出马马上就搞定,
楼上的高手,以后我也要常常去你的网站学习学习
谢谢你了
gjd111686 2004-07-13
  • 打赏
  • 举报
回复
<script>
function getCookieVal(offset)
{
var iEndStr=document.cookie.indexOf(";",offset);
if(iEndStr==-1)
iEndStr=document.cookie.length;
return unescape(document.cookie.substring(offset,iEndStr));
}
function getCookie(name)
{
var strArg=name+"=";
var iArgLength=strArg.length;
var iCookieLength=document.cookie.length;
var iIndex=0;
while(iIndex<iCookieLength)
{
var kIndex=iIndex+iArgLength;
if(document.cookie.substring(iIndex,kIndex)==strArg)
return getCookieVal(kIndex);
iIndex=document.cookie.indexOf(" ",iIndex)+1;
if(iIndex==0)
break;
}
return null;
}
function setCookie(name,value)
{
var strArgValue=setCookie.arguments;
var iArgLength=setCookie.arguments.length;
var expires=(2<iArgLength)?strArgValue[2]:null;
var path=(3<iArgLength)?strArgValue[3]:null;
var domain=(4<iArgLength)?strArgValue[4]:null;
var secure=(5<iArgLength)?strArgValue[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+expires.toGMTString()))+
((path==null)?"":(";path="+path))+((domain==null)?"":(";domain="+domain))+
((secure==true)?";secure":"");
}
function setTimer()
{
setInterval("countCount()",60000);
}
var iCountOld=getCookie(document.all.cookieName.value);
var iCountNew=iCountOld;
function countCount()
{
if(iCountNew==0)
{
window.location="about:blank";
}
else
{
iCountNew--;
}
}
</script>
<input text value="Cookie名" disabled style="border:0px solid"><input type=text id="cookieName" style="border:1px solid"><br>
<input text value="Cookie值" disabled style="border:0px solid"><input type=text id="cookieValue" style="border:1px solid"><br>
<br>
<input type=button value="设置Cookie" onclick="setCookie(document.all.cookieName.value,document.all.cookieValue.value)">
<input type=button value="取值Cookie" onclick="window.confirm(getCookie(document.all.cookieName.value))">
<br>
<br>
<input type=button value="启动定时器" onclick="setTimer()">
孟子E章 2004-07-13
  • 打赏
  • 举报
回复
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var expDays = 3; // 设置时间

var page = "http://dotnet.aspx.cc/";
var windowprops = "width=300,height=200,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";

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();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);

window.open(page, "", windowprops);

}
else {
count++;
SetCookie('count', count, exp);
}
}
// End -->
</script>

<BODY OnLoad="checkCount()">
kevinzzy 2004-07-13
  • 打赏
  • 举报
回复
不好意思,写错了,是有两个页面,他们都弹出一样内容的窗口!
如果A已经弹了,那么访问B时就不用弹,反之亦然
但只在三个小时内有效(三个小时内只弹一次窗口)
过了三个小时再访问,要求又会弹出,请高手给予解决啊,
请发源码!!

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧