麋鹿麋鹿迷了路 2011-06-26
关键字:常见弹出窗口和模式对话框的介绍
本文转载于其它blog,在此向本文原创者,致意!
JSP弹出窗口一、window.open()基础知识
1、window.open()支持环境:JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+
2、基本语法:window.open(pageURL,name,parameters)
其中:
pageURL为子窗口路径
name为子窗口句柄
parameters为窗口参数(各参数用逗号分隔)
3、简单示例:
<scriptlanguage="javascript"type="text/javascript">
<!--
window.open('page.aspx','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no')
-->
</script>脚本运行后,page.aspx将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。其中<!--和-->是对一些版本低的浏览器起作用,在这些低版本浏览器中不会将标签中的代码作为文本显示出来,要养成这个好习惯。
4、可用的parameters:其中yes/no也可使用1/0;pixelvalue为具体的数值,单位象素。
参数|取值范围|说明
alwaysLowered|yes/no|指定窗口隐藏在所有窗口之后
alwaysRaised|yes/no|指定窗口悬浮在所有窗口之上
depended|yes/no|是否和父窗口同时关闭
directories|yes/no|Nav2和3的目录栏是否可见
height|pixelvalue|窗口高度
hotkeys|yes/no|在没菜单栏的窗口中设安全退出热键
innerHeight|pixelvalue|窗口中文档的像素高度
innerWidth|pixelvalue|窗口中文档的像素宽度
location|yes/no|位置栏是否可见
menubar|yes/no|菜单栏是否可见
outerHeight|pixelvalue|设定窗口(包括装饰边框)的像素高度
outerWidth|pixelvalue|设定窗口(包括装饰边框)的像素宽度
resizable|yes/no|窗口大小是否可调整
screenX|pixelvalue|窗口距屏幕左边界的像素长度
screenY|pixelvalue|窗口距屏幕上边界的像素长度
scrollbars|yes/no|窗口是否可有滚动栏
status|yes/no|是否显示状态栏内的信息
titlebar|yes/no|窗口题目栏是否可见
toolbar|yes/no|窗口工具栏是否可见
Width|pixelvalue|窗口的像素宽度
z-look|yes/no|窗口被激活后是否浮在其它窗口之上
二、window.open()应用与技巧
1.用一个连接调用
<scriptlanguage="javascript"type="text/javascript">
<!--
functionopenwin()
{
window.open("page.aspx","newwindow","height=100,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no")
}
-->
</script>
<ahref="#"onclick="openwin()">打开一个窗口</a>
*使用的“#”是虚连接,若把“#”换成一个页面,则效果是:打开这个页面的同时弹出小窗口。
2、定时关闭弹出窗口
只需在窗口页面(注意是窗口页面)加入以下代码即可。
<scriptlanguage="JavaScript"type="text/javascript">
functioncloseit()
{
setTimeout("self.close()",10000)
}
</script>其中,10000的单位是毫秒。再在<body>变成<bodyonload="closeit()">即可。
3、主窗口和弹出窗口处于一个页面
一般,主窗口和弹出窗口都是分别为两个页面,可否都处在一个页面呢?当然是可以的。
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
<scriptlanguage="JavaScript"type="text/javascript">
functionopenwin()
{
OpenWindow=window.open("","newwin","height=250,width=250,toolbar=no,scrollbars="+scroll+",menubar=no");
OpenWindow.document.write("<BODYBGCOLOR=#ffffff>")
OpenWindow.document.write("<h1>Hello!</h1>")
OpenWindow.document.write("Newwindowopened!")
OpenWindow.document.write("</BODY>")
OpenWindow.document.write("</HTML>")
OpenWindow.document.close()
}
</script>
</head>
<body>
<inputtype="button"onclick="openwin()"value="打开窗口"/>
</body>
</html>
4、经常的应用
//==========================================================================
//
//代码描述:打开一个新的没有状态栏、工具栏、菜单栏、定位栏,
//不能改变大小,且位置居中的新窗口
//
//传入参数:pageURL-传递链接
//innerWidth-传递需要打开新窗口的宽度
//innerHeight-传递需要打开新窗口的高度
//
//返回参数:无
//
//
//==========================================================================
functiong_OpenWindow(pageURL,innerWidth,innerHeight)
{
varScreenWidth=screen.availWidth
varScreenHeight=screen.availHeight
varStartX=(ScreenWidth-innerWidth)/2
varStartY=(ScreenHeight-innerHeight)/2
window.open(pageURL,'','left='+StartX+',top='+StartY+',Width='+innerWidth+',height='+innerHeight+',resizable=no,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no')
}
三、模式窗口函数弹出窗口
//==========================================================================================
//
//代码描述:打开模式窗口函数,打开一个模式窗口不包含菜单、状态条、工具条、定位栏
//
//传入参数:pageURL-传递链接
//innerWidth-传递需要打开新窗口的宽度
//innerHeight-传递需要打开新窗口的高度
//返回参数:无
//
//
//==========================================================================================
functiong_OpenModalWindow(pageURL,innerWidth,innerHeight)
{
window.showModalDialog(pageURL,null,'dialogWidth:'+innerWidth+'px;dialogHeight:'+innerHeight+'px;help:no;unadorned:no;resizable:no;status:no')
}
//==========================================================================================
//
//代码描述:打开模式窗口函数,打开一个模式窗口不包含菜单、状态条、工具条、定位栏,并且返回值
//
//传入参数:pageURL-传递链接
//innerWidth-传递需要打开新窗口的宽度
//innerHeight-传递需要打开新窗口的高度
//返回参数:模式窗体返回的returnValue
//
//
//==========================================================================================
functiong_OpenreturnWindow(pageURL,innerWidth,innerHeight)
{
varreturnv;
returnv=window.showModalDialog(pageURL,null,'dialogWidth:'+innerWidth+'px;dialogHeight:'+innerHeight+'px;help:no;unadorned:no;resizable:no;status:no')
returnreturnv;
}
//==========================================================================================
//
//代码描述:打开模式窗口函数,打开一个模式窗口不包含菜单、状态条、工具条、定位栏
//
//传入参数:pageURL-传递链接
//innerWidth-传递需要打开新窗口的宽度
//innerHeight-传递需要打开新窗口的高度
//返回参数:无
//
//
//==========================================================================================
functiong_OpenReturnModalWindow(pageURL,innerWidth,innerHeight)
{
window.showModalDialog(pageURL,null,'dialogWidth:'+innerWidth+'px;dialogHeight:'+innerHeight+'px;help:no;unadorned:no;resizable:no;status:no');
returnfalse;
}
来源于:http://blog.163.com/likui_1314159/blog/static/770932122010821115329165/