作家
登录

用javascript父窗口控制只弹出一个子窗口

作者: 来源:www.28hudong.com 2013-03-30 03:32:39 阅读 我要评论

近来网上经常流传一些关于如何在父窗口控制只弹出一个子窗口 问题,我查看了一些,大部分都是只能解决部分或者很麻烦,还不算完美。比如有人是实现的这样,使用的是Cookie,以下是例子。 主页上做了一个弹出窗口,如何使其只弹出一次,返回主页时不再弹出了。 --------------------------------------------------------------- <script> window.open("http://www.yeboss.com.cn","yeboss","width=300,height=400") </script> --------------------------------------------------------------- cookie --------------------------------------------------------------- <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var expDays = 1; // number of days the cookie should last var page = "only-popup-once.html"; 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*24*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()"> 这个是网上随便摘的一个例子,是不是感觉很多也很难看懂呢,下面我给大家说一种新方法,保证好看好使。 <script language="JavaScript" type="text/JavaScript"> <!-- Copyright fenggang at 2007/3/23 var w=null; function MM_openBrWindow(theURL,winName,features) { //v2.0 if(w!=undefined&&isOpen()){ w.close(); } w=window.open("",winName,features); w.location.replace(theURL); } function isOpen() { try { w.document; return true; } catch(ex) {} return false; } //--> </script> 这个MM_openBrWindow()函数名是在Dreamweaver中常用的弹出窗口函数名,将这段代码放进页面里 然后再做弹出窗口就只能探出一个窗口了,以上是精髓部分,下面是完整的一个测试页的代码,试试看吧。 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script language="JavaScript" type="text/JavaScript"> <!-- Copyright fenggang at 2007/3/23 var w=null; function MM_openBrWindow(theURL,winName,features) { //v2.0 if(w!=undefined&&isOpen()){ w.close(); } w=window.open("",winName,features); w.location.replace(theURL); } function isOpen() { try { w.document; return true; } catch(ex) {} return false; } //--> </script> </head> <body> <a href="javascript:;" onClick="MM_openBrWindow(show.asp’,’’,’scrollbars=yes,resizable=yes,width=570,height=500’)">title</a> </body> </html>

  推荐阅读

  javascript下用键盘控制层的移动的代码

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>键盘控制层的移动</title> <style type="text/css"> <!-- #Div { position:absolute; width:238px; height:135px;>>>详细阅读


本文标题:用javascript父窗口控制只弹出一个子窗口

地址:http://www.17bianji.com/kaifa2/JS/30582.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)