用window.open打开一个窗口,怎么使它一直在父窗口的上面,除非点击自己设置的关闭按钮,我试了一下οnblur="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>里加上代码:οnblur="self.focus()":
<body οnblur="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