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

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

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

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

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

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

引用内容

2.规定大小的窗口代码

引用内容

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

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

scrollbars=no,resizable=no,

location=no,status=no’)

//写成一行

-->

参数解释:

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为允许;

 js脚本结束。

3.用函数控制弹出窗口

引用内容

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

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

方法一:

 浏览器读页面时弹出窗口;

方法二:

 浏览器离开页面时弹出窗口;

方法三:用一个连接调用:打开一个窗口

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

方法四:用一个按钮调用:

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

方法一:

 浏览器读页面时弹出窗口;

方法二:

 浏览器离开页面时弹出窗口;

方法三:用一个连接调用:打开一个窗口

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

方法四:用一个按钮调用:

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

将如下代码加入主窗口

引用内容

加入

引用内容

open

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

引用内容

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

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

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

引用内容

function openwin()

{

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

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

//写成一行

OpenWindow.document.write("

例子" ;)

OpenWindow.document.write("

" ;)

OpenWindow.document.write("

Hello!

" ;)

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

OpenWindow.document.write("" ;)

OpenWindow.document.write("" ;)

OpenWindow.document.close()

}

打开一个窗口

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

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

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

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

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

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

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

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

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

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

首先,将如下代码加入主页面HTML的

区:

引用内容

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"

}

}

然后,用

(注意不是openwin

而是loadpop啊)替换主页面中原有的

这一句即可。你

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

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

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

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

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

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

引用内容

还有几个基本的代码

1.弹启一个全屏窗口

引用内容

www.jsust

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

引用内容

<html>

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

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

<b>www.jsust</b>

</body>

</html>

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

引用内容

<html>

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

<b>www.jsust</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 += "iecn";

dialogConent += "

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

.click();window.close();";

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]中加

程序代码

window.onload = function ()

{

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

}

[body][/body]中加

程序代码

另一个简单点

程序代码

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

document.write("

");

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

}

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

增加——延迟 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毫秒)

代码如下:

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.showModelessDialog(’mylove/ttan.htm’,’’,’scroll:0;status:0;help:0;resizable:0;dialogWidth:0px;dialogHeight:0px’)",3000)

window.focus();

}

}Get();

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

ttan.htm的内容

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

更多推荐

html网页自动提示框代码,多种网页弹出窗口代码