源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-06-26 11:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用javascript父窗口控制只弹出一个子窗口
近来网上经常流传一些关于如何在父窗口控制只弹出一个子窗口 问题,我查看了一些,大部分都是只能解决部分或者很麻烦,还不算完美。比如有人是实现的这样,使用的是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>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部