只打開一次的彈出窗口
我們在做彈出廣告的時候 ,每次刷新頁面,窗口都會彈出一次,用戶用起來非常不方便。
有解決的辦法嗎?當(dāng)然有!我們使用cookie來控制一下就可以了。首先,將如下代碼加入主頁面HTML的〈HEAD〉區(qū): 〈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啊?。┨鎿Q主頁面中原有的〈BODY〉這一句即可。你可以試著刷新一下這個頁面或重新進入該頁面,窗口再也不會彈出了。真正的Pop-Only-Once! 寫到這里彈出窗口的制作和應(yīng)用技巧基本上算是完成了,俺也累壞了,一口氣說了這么多,希望對正在制作網(wǎng)頁的朋友有所幫助俺就非常欣慰了。 需要注意的是,JS腳本中的的大小寫最好前后保持一致 只彈一次的代碼
經(jīng)常會碰到這個問題,因此我整理了以下兩鐘較簡單的方法:
如何讓彈窗只彈一次: 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> |
|
來自: WindySky > 《前端技術(shù)》