经常上网的朋友可能到过这样一些网站,一进入首页立刻会弹出

  一个窗口,或者按一个链接或按钮弹出,通常在这个窗口里会显示

  一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要

  特别提示的信息。其实制作这样的页面非常容易,只要往该页面的

  HTML里加入几段javascript代码即可实现。下面我就带你剖析它的奥秘。

  1.最基本的弹出窗口代码

  引用内容

  <SCRIPT LANGUAGE="javascript">

  <!--

  window.open (’http"//www.jsust.com/’)

  -->

  </SCRIPT>

  2.规定大小的窗口代码

  引用内容

  <SCRIPT LANGUAGE=";

  <!--

  window.open (’http://www.jsust.com/’,’newwindow’,’height=100,

  width=400,top=0,left=0,toolbar=no,menubar=no,

  scrollbars=no,resizable=no,

  location=no,status=no’)

  //写成一行

  -->

  </SCRIPT>

  参数解释:

  <SCRIPT LANGUAGE="javascript"> js脚本开始;

  window.open 弹出新窗口的命令;

  page.html 弹出新窗口的文件名;

  newwindow 弹出窗口的名字(不是文件名),可用空 ″代替;

  height=100 窗口高度;

  top=0 窗口距离屏幕上方的像素值;

  left=0 窗口距离屏幕左侧的像素值;

  toolbar=no 是否显示工具栏,yes为显示;

  menubar,scrollbars 表示菜单栏和滚动栏;

  resizable=no 是否允许改变窗口大小,yes为允许;

  location=no 是否显示地址栏,yes为允许;

  status=no 是否显示状态栏内的信息(通常是文件已经打开),

  yes为允许;

  </SCRIPT> js脚本结束。

  3.用函数控制弹出窗口

  引用内容

  <html>

  <head>

  <script LANGUAGE="javascript">

  <!--

  function openwin(){

  window.open("http://www.jsust.com/","newwindow",

  "height=100,width=400,toolbar=no,menubar=no,

  scrollbars=no,resizable=no,

  location=no,status=no";)

  //写成一行

  }

  -->

  </script>

  </head>

  <body

  ...任意的页面内容...

  </body>

  </html>

  这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢?

  方法一:<body 浏览器读页面时弹出窗口;

  方法二:<body οnunlοad="openwen()"> 浏览器离开页面时弹出窗口;

  方法三:用一个连接调用:<a href="#"

  注意:使用的"#"是虚连接。

  方法四:用一个按钮调用:<input type="button" value="打开窗口">

  这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢?

  方法一:<body 浏览器读页面时弹出窗口;

  方法二:<body οnunlοad="openwen()"> 浏览器离开页面时弹出窗口;

  方法三:用一个连接调用:<a href="#"

  注意:使用的"#"是虚连接。

  方法四:用一个按钮调用:<input type="button" value="打开窗口">

  4.主窗口打开文件1.htm,同时弹出小窗口page.html

  将如下代码加入主窗口<head>区

  引用内容

  <script language="javascript">

  <!--

  function openwin(){

  window.open("page.html","","width=200,height=200" ;)

  }

  //-->

  </script>

  加入<body>区

  引用内容

  <a href="1.htm"

  5.弹出的窗口之定时关闭控制

  引用内容

  <f orm>

  <INPUT TYPE=’BUTTON’ value=’关闭’ onClick=’window.close()’>

  </f orm>

  6.内包含的弹出窗口——一个页面两个窗口

  上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。

  通过下面的例子,你可以在一个页面内完成上面的效果。

  引用内容

  <html>

  <head>

  <SCRIPT LANGUAGE="javascript">

  function openwin()

  {

  OpenWindow=window.open("","newwin","height=250,

  width=250,toolbar=no,scrollbars="+scroll+",menubar =no";);

  //写成一行

  OpenWindow.document.write("<TITLE>例子</TITLE>" ;)

  OpenWindow.document.write("<BODY BGCOLOR=#FFFFFF>" ;)

  OpenWindow.document.write("<H1>Hello!</h1>" ;)

  OpenWindow.document.write("New window opened!" ;)

  OpenWindow.document.write("</BODY >" ;)

  OpenWindow.document.write("</HTML>" ;)

  OpenWindow.document.close()

  }

  </script>

  </head>

  <body>

  <a href="#"

  <input type="button" value="打开窗口">

  </body>

  </html>

  看看OpenWindow.document.write()里面的代码不就是标准的

  HTML吗?只要按照格式写更多的行即可。千万注意多一个标签

  或少一个标签都会出现错误。

  记住用OpenWindow.document.close()结束啊。

  7.终极应用——弹出窗口的Cookie控制

  回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(你沉

  浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在

  一个需要频繁经过的页面里(例如首页),那么每次刷新这个

  页面,窗口都会弹出一次,是不是非常烦人?有解决的办法吗?

  Yes!Follow me。我们使用Cookie来控制一下就可以了。

  首先,将如下代码加入主页面HTML的<HEAD>区:

  引用内容

  <script>

  function openwin(){

  window.open("page.html","","width=200,height=200" ;)

  }

  function get_cookie(Name){

  var search = Name+ "="

  var returnvalue ="";

  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 loadpopup(){

  if (get_cookie(’popped’)==";){

  openwin()

  documents.cookie="popped=yes"

  }

  }

  </script>

  然后,用<body

  而是loadpop啊)替换主页面中原有的<BODY>这一句即可。你

  可以试着刷新一下这个页面或重新进入该页面,窗口再也不

  会弹出了。真正的Pop-Only-Once!

  写到这里,弹出窗口的制作和应用技巧基本上算是讲完了,

  希望对正在制作网页的朋友有所帮助我就非常欣慰了。

  需要注意的是,JS脚本中的大小写最好前后保持一致。

  没有菜单、工具栏、地址栏的弹出窗口:

  引用内容

  <script language="javascript">

  <!--

  var gt = unescape(’%3e’);

  var popup = null;

  var over = "Launch Pop-up Navigat or";

  popup = window.open(’’, ’popupnav’, ’width=500,height=500,resizable=0,scrollbars=auto’); // width=500,height=500为窗口长和宽

  if (popup != null) {

  if (popup.opener == null) {

  popup.opener = self; }

  popup.location.href = ’要打开的文件名’;

  }

  // -->

  </script>

  还有几个基本的代码

  1.弹启一个全屏窗口

  引用内容

  <html>

  <body οnlοad="window.open(’ http://www.jsust.com’,’example01’,’fullscreen’);">

  <b>www.jsust.com</b>

  </body>

  </html>

  2.弹启一个带有收藏链接工具栏的窗口

  引用内容

  <html>

  <body οnlοad="window.open(’http://www.jsust.com/,’example03’,’

  width=400,height=300,direct ories’);">

  <b>www.jsust.com</b>

  </body>

  </html>

  3弹出一个被F11化后的窗口

  引用内容

  <html>

  <body οnlοad="window.open(’ http://www.jsust.com’,’example02’,’channelmode’);">

  <b>www.jsust.com</b>

  </body>

  </html>

  两个强制弹出代码

  /**

  * 用本程序弹出的窗口将不会被广告拦截软件拦截,但有一个缺点:

  你无法象对window.open弹出的窗口那样对外观进行定制。

  * 你当然也可以在使用前实例化一个ForceWindow对象:

  * var myWindow = new ForceWindow();

  * 这样来使用:

  * myWindow.pop("URL");

  * 本程序在 IE 5+、Firefox 1.0、Mozilla 1.7.5、Netscape 7.2、

  Opera 7.23 下测试正常,但目前没有“冲破”Firefox的拦截。

  */

  将下面的代码保存为一个.JS文件

  程序代码

  /**

  * 定义ForceWindow类构造函数

  * 无参数

  * 无返回值

  */

  function ForceWindow ()

  {

  if (!(this.isMsie = (/MSIE/).test(navigator.appVersion)))

  {

  this.f = document.createElement("FORM");

  this.f.target = "_blank";

  this.f.method = "post";

  document.documentElement.insertBefore(this.f, document.documentElement.childNodes[0]);

  }

  }

  /**

  * 定义pop方法

  * 参数sUrl:字符串,要打开窗口的URL。

  * 无返回值

  */

  ForceWindow.prototype.pop = function (sUrl)

  {

  if (this.isMsie)

  {

  var dialogConent = "about:";

  dialogConent += "<a href=’" + sUrl + "’ target=’_blank’ id=’iecn’ style=’display:none;’>iecn</a>";

  dialogConent += "<script language=’JavaScript’ type=’text/javascript’>";

  dialogConent += "document.getElementById(’iecn’)

  .click();window.close();</script>";

  window.showModalDialog(dialogConent, "", "width:1px;height:1px;left:0px;top:0px;");

  }

  else

  {

  this.f.action = sUrl;

  this.f.submit();

  }

  }

  /**

  * 实例化一个ForceWindow对象并做为window对象的一个子对象以方便调用

  * 定义后可以这样来使用:window.force.pop("URL");

  */

  window.force = new ForceWindow();

  [head][/head]中加

  程序代码

  <script language="JavaScript" type="text/javascript"

  src="ForceWindow-1.0.2.iclass.js"></script>

  <script language="JavaScript" type="text/javascript">

  window.onload = function ()

  {

  window.force.pop("http://www.jsust.com");

  }

  </script>

  [body][/body]中加

  程序代码

  <button οnclick="window.force.pop(’http://www.jsust.com’);">

  另一个简单点

  程序代码

  <script>

  for(i=0;i<1;i++){

  document.write("<form name=form"+i+" action=http://www.jsust.com target=_blank><\/form>");

  eval("document.form"+i+".submit();");

  }

  </script>

  -------------------------------------------------- ------------

  增加——延迟 N分钟内同一IP弹出一次 强制弹出

  参数解释:

  设置时间:Then.setTime(Then.getTime() + 1*60*60*1000)

  mylove/ttan.htm(过渡网页)

  ttan.htm中的 http://弹出网页/ 是要弹出的网页

  scroll:1(滚动条)

  status:1(状态栏)

  help:1(帮助按钮)

  toolbar=1(工具栏)

  resizable:1(是否可以用鼠标拖动改变大小)

  dialogWidth:800px(宽度)

  dialogHeight:600px(高度)

  3000(延迟弹出的时间,单位:毫秒。1秒=1000毫秒)

  代码如下:

  <!--弹出广告-->

  <script language="JavaScript">

  function Get(){

  var Then = new Date()

  Then.setTime(Then.getTime() + 1*60*60*1000)

  var cookieString = new String(document.cookie)

  var cookieHeader = "Cookie1="

  var beginPosition = cookieString.indexOf(cookieHeader)

  if (beginPosition != -1){

  } else

  { document.cookie = "Cookie1=POPWIN;expires="+ Then.toGMTString()

  focusid=setTimeout("focus();window.showModelessDia log(’mylove/ttan.htm’,’’,’scroll:0;status:0;help:0;resizable:0;dialogWidth:0 px;dialogHeight:0px’)",3000)

  window.focus();

  }

  }Get();

  </script>

  <!--弹出结束-->

  --------------

  ttan.htm的内容

  --------------

  <script language="javascript">

  <!--

  window.open("http://弹出网页/");

  //-->

  </script>

  <script LANGUAGE="JavaScript">

  <!--

  setTimeout(’window.close();’, 0)

  //-->

  </script>