用window.open打开一个窗口,怎么使它一直在父窗口的上面,除非点击自己设置的关闭按钮,我试了一下onblur="self.focus"好像不管用.
可使用:
opened=window.open("demo.html","demo","left=80,top=60,width=640,height=480,help:no,resizable:no"); opened.focus();
self.blur();
}
http://www.javaeye.com/topic/347369
方法一:弹出窗口<body>里加上代码:onblur="self.focus()":
<body onblur="self.focus()">
使用此方法时,焦点会一直在此弹出窗口上,并不能在其他窗口进行操作,焦点请不回来嘛!
*********************************************************************
方法二:用showModalDialog方法建立模式对话框:
<script>
function topwin(){
window.showModalDialog("D:/window.html","","dialogWidth:300px;dialogHeight:300px;scroll:no;status:no")
}
</script>
<button onClick="topwin()">打开模式窗口</button>
此方法的效果和方法一的效果相同,弹出窗口前端显示,但是不能在其他窗口做任何操作了,也是丢了焦点。
*********************************************************************
方法三:用showModelessDialog方法建立无模式对话框:
<script>
function topwin(){
window.showModelessDialog("D:/window.html","","dialogWidth:300px;dialogHeight:300px;scroll:no;status:no")
}
</script>
<button onClick="topwin()">打开无模式窗口</button>
此方法弹出窗口前端显示,但可以在其他窗口中进行操作。呵呵 做这个的时候还犯了个迷糊,在弹出窗口中增加了关闭按钮,但是写的JS函数名起为close(),这下可好了,怎么点这按钮都不好使,疑惑了好一阵,最后 把函数名改了才OK。看来起名的时候还真不能太大众化,冲突了! 哈哈
另外一般打开窗口,并将焦点指向打开的窗口
function openSubWindow(subWin,width,height) {
var winwidth = parseInt(width)
var winheight = parseInt(height)
var newWin = window.open(subWin,"SubWindow","width="+winwidth+",height="+winheight+",status=no, menubar=no, toolbar=no, scrollbars=yes");
newWin.focus();
}
关于window窗体对象open()和showModalDialog()用法
http://www.javaeye.com/topic/188709
一、window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二、基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 三、示例: <SCRIPT> <!-- window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') //写成一行 --> </SCRIPT> 脚本运行后,page.html将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。 请对照。 上例中涉及的为常用的几个参数,除此以外还有很多其他参数,请见四。 四、各项参数 其中yes/no也可使用1/0;pixel value为具体的数值,单位象素。 参数 | 取值范围 | 说明 | | alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后 alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上 depended | yes/no | 是否和父窗口同时关闭 directories | yes/no | Nav2和3的目录栏是否可见 height | pixel value | 窗口高度 hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键 innerHeight | pixel value | 窗口中文档的像素高度 innerWidth | pixel value | 窗口中文档的像素宽度 location | yes/no | 位置栏是否可见 menubar | yes/no | 菜单栏是否可见 outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度 outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度 resizable | yes/no | 窗口大小是否可调整 screenX | pixel value | 窗口距屏幕左边界的像素长度 screenY | pixel value | 窗口距屏幕上边界的像素长度 scrollbars | yes/no | 窗口是否可有滚动栏 titlebar | yes/no | 窗口题目栏是否可见 toolbar | yes/no | 窗口工具栏是否可见 Width | pixel value | 窗口的像素宽度 z-look | yes/no | 窗口被激活后是否浮在其它窗口之上 window.showModalDialog使用手册 基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。 使用方法: vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 参数说明: sURL-- 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 vArguments-- 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。 sFeatures-- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。 1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。 2.dialogWidth: 对话框宽度。 3.dialogLeft: 离屏幕左的距离。 4.dialogTop: 离屏幕上的距离。 5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。 6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。 7.resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。 8.status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。 9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 下面几个属性是用在HTA中的,在一般的网页中一般不使用。 10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。 11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。 12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。 参数传递: 1.要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如: ------------------------------- parent.htm <mce:script type="text/javascript"><!-- var obj = new Object(); obj.name="51js"; window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px"); // --></mce:script> modal.htm <mce:script type="text/javascript"><!-- var obj = window.dialogArguments alert("您传递的参数为:" + obj.name) // --></mce:script> ------------------------------- 2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如: ------------------------------ parent.htm <mce:script type="text/javascript"><!-- str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px"); alert(str); // --></mce:script> modal.htm <mce:script type="text/javascript"><!-- window.returnValue="http://www.51js.com"; // --></mce:script> 币种定义部分 var psAddStr="ProcessID="+ProcessID+"&AddFlag="+isAddFlag+"&BZBH="+vsBZBH+"&BZMC="+vsBZMC+"&BZFH="+vsBZFH+"&JD="+vsJD; var Result=window.showModalDialog("addSave.asp?"+psAddStr,'',"dialogHeight:250px;dialogWidth:250px;status:no;"); -----------------------------使用总结------------------------- 模式窗体 var returnval=window.showModalDialog(url,window,"dialogWidth=220px;dialogHeight=530px"); 注意第2个参数传递为window作用是可在弹出的窗体中访问父窗口里面的属性或方法,访问形式如下: dialogArguments.parentfun(){}; returnvalue是一个返回数值,不能是文档对象,而是一个简单的Javascript对象(String,Date...) window.returnValue="123";那么returnval的数值是123 open弹出的窗体 var obj=window.open(url,'','location=no,menubar=no,scroll=yes,height=756px,width=940px,resizable=no,status=yes'); 访问父页面方法:如下: window.opener.parfun(){} 注意obj是对弹出的窗体的一个引用,可以调用obj.close()方法关闭弹出的窗体.
http://www.javaeye.com/topic/112626
总结性文章如下
Javascript 弹出窗口总结http://e-ant.javaeye.com/blog/307650