常用弹出窗口-window.showModalDialog与window.open 用法
文章分类:Web前端
windows.open()用法简介
一、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
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
</script>
-------------------------------
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
------------------------------
parent.htm
<script>
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
modal.htm
<script>
window.returnValue="str";
</script>
windows.showModalDialog实例
实现功能简介:在parent.aspx点击图片gorup.gif便会弹出Group.aspx窗口,在此页面的dataGrid控件中双击某一行数据,就会将这一行的"组合名称"列的值填充到parent.aspx页面的txtGoup文本框中。代码如下:
parent。aspx 的html代码:
//
<IMG src="images\gorup.gif" onclick=getGroup(document.all.txtGroup); style="CURSOR: hand" alt=请选择组合 >
<script>
function getGroup(obj)
{
var valu=window.showModalDialog('Group.aspx',window,'dialogWidth=700px;dialogHeight=500px;status=no');
var str;
str="document.all." + obj.id;
if (valu!==""&&valu!==undefined){eval(str).value=valu;}
}
</script>
Group.aspx的html代码:
<script language=javascript>
function returnSelect(sel)
{
window.returnValue=sel;
window.close();
}
</script>
Group.aspx的cs代码:
private void dgGroup_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item )
{
e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#9CCBF7';this.style.cursor='hand'");
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
DataRowView drv = (DataRowView)e.Item.DataItem;
e.Item.Attributes.Add("ondblclick","returnSelect('" + drv.Row["Name"].ToString() +"');");
防止aspx页面在showmodeldialog情况下提交就重新打开一个页面:showmodaldialog打开的页面中在<head></head>之间加入一行:<base target="_self">
如何禁止模态窗口左侧的滚动栏?
解决如下:
方法是在模态页面的BODY样式加:OVERFLOW: hidden; 即可禁止显示.
BODY {
OVERFLOW: hidden; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; BACKGROUND: #ffffff; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: 0px; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: 0px
}
什么是模态窗口?什么是非模态窗口?
答案如下:
模态窗口在传统编程语言中很常见,就是打开一个子窗口,如果这个子窗口不关闭,就不能操作它的父窗口。
当我们用showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式[IE5]打开时, 打开对话框的窗口仍可以进行其他的操作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。
转:http://blog.csdn.net/Moon_F/archive/2009/06/08/4250608.aspx
分享到:
相关推荐
window.showModalDialog以及window.open用法简介
因为项目中使用showModalDialog函数的地方特别多,所以必须用一个类似方法实现功能,也就是window.open() 首先是判断子窗口关闭,因为项目是在子窗口关闭(确定按钮)的时候向父页面传递值的。
刷新以winodw.showModelDialog()方法打开的窗口 window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("<script>window.location.href = window.location.href</script>"); 刷新本...
这里我们主要探讨的是"window.show"相关的概念,包括`showDialog`、`showModelDialog`以及`dialog`,这些都是用来创建和管理弹出窗口的方法。 1. **showDialog**: `showDialog`函数通常在JavaScript或类似的脚本...
如果需要跨浏览器支持,建议使用`window.open`或其他第三方库如jQuery UI的Dialog插件。 2. **安全性考虑**:在处理用户输入时,应确保数据的安全性,避免注入攻击等问题。 3. **用户体验**:在设计对话框时,应...
window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框,由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。使用方法:varreturnValue = window.showModalDialog(URL [, arguments]...
2. **模态对话框(Modal Dialog)**:模态对话框是一种阻止用户与页面其余部分交互,直到他们与对话框进行交互的设计模式。在div模拟的showModelDialog中,对话框会出现在页面中央,遮盖住背景内容,通常用于显示...
特别是当页面使用了iframe、弹出窗口(window.open)或模态对话框(showModelDialog)的时候,如何从子窗体访问并操作父窗体的元素就显得尤为重要。本文将详细介绍如何使用jQuery来实现这一需求。 首先,要在子窗体...
其次,当页面是由子窗口通过`window.open()`方法打开时,可以使用`window.opener`对象来访问打开它的父窗口,并通过相同的`location.reload()`方法来刷新父窗口: ```javascript window.opener.location.reload(); ...
在IT领域,关系级联菜单是一种常见的用户界面(UI)设计模式,特别是在Windows操作系统中广泛使用。这种菜单设计主要用于组织大量的功能选项,使得用户能够通过层次结构来访问和操作,从而提高用户界面的效率和易用...
showModelDialog的使用说明,简单易懂
兼容ie和chrome的showModelDialog兼容ie和chrome的showModelDialog
这两种方法都属于浏览器的`window`对象,允许开发者展示HTML内容,并与用户进行交互。 ### `showModalDialog` `showModalDialog`方法创建一个**模态**对话框,意味着当对话框打开时,用户必须先关闭它才能继续与父...
`showModelDialog` 是一种常用于前端Web应用中的方法,用于弹出一个模态对话框,通常用于展示信息、确认操作或执行特定任务,如文件下载。在这个场景中,我们讨论的是如何使用 `showModelDialog` 实现一个文件下载的...
标签“火狐”提示我们这个函数或其替换过程可能与Firefox浏览器有关,可能存在特定的浏览器兼容性问题需要解决。在跨浏览器开发中,不同的浏览器可能对某些JavaScript特性或jQuery方法有不同的支持程度,因此需要...
在IT行业中,JavaScript(简称JS)是Web开发中不可或缺的一部分,尤其在构建动态网页和交互式用户界面时。然而,由于其动态特性和浏览器的差异性,调试JS代码常常成为开发者面临的一大挑战。针对这个问题,IE...