只打开一次的弹出窗口
我们在做弹出广告的时候 ,每次刷新页面,窗口都会弹出一次,用户用起来非常不方便。
有解决的办法吗?当然有!我们使用cookie来控制一下就可以了。首先,将如下代码加入主页面HTML的〈HEAD〉区: 〈script〉 function openwin(){ window.open("page.html","","width=200,height=200") } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (document.cookie.length 〉 0) { offset = document.cookie.indexOf(search) if (offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function loadpopup(){ if (get_cookie(′popped′)==′′){ openwin() document.cookie="popped=yes" } } 〈/script〉 然后,用〈body onload="loadpopup()"〉(注意不是openwin而是loadpop啊!)替换主页面中原有的〈BODY〉这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的Pop-Only-Once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,JS脚本中的的大小写最好前后保持一致 只弹一次的代码
经常会碰到这个问题,因此我整理了以下两钟较简单的方法:
如何让弹窗只弹一次: 1.使用asp控制一个会话只弹一次: <% if session("ad")<>1 then %> <script language=javascript> function pop_ad(){ window.open('http://www.','窗口ID','scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes,location=yes,status=yes,width=300,height=300'); } setTimeout(pop_ad(),3000); </script> <% session("ad")=1 end if %> 2.使用js用cookies方式控制只弹出一次窗口 <script language="javascript"> <!-- function openpopup(){ window.open('http://www.','itlearner',width=300,height=300,left=0,top=0) } function GetCookie (name) { var search = name + "="; var returnvalue = null; if (documents.cookie.length > 0) { offset = documents.cookie.indexOf(search) if (offset != -1) { offset += search.length end = documents.cookie.indexOf(";",offset); if (end == -1) end = documents.cookie.length; returnvalue=unescape(documents.cookie.substring(offset, end)) } } return returnvalue; } function pop_ad(){ if (GetCookie('popped')==null||GetCookie('popped')==''){ documents.cookie='popped=yes'; openpopup(); } } pop_ad(); //--> </script> |
|