`
jinkingmanager
  • 浏览: 39043 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

window.open 与 window.showModelDialog(转)

    博客分类:
  • JS
阅读更多
常用弹出窗口-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用法简介

    window.showModalDialog以及window.open用法简介

    open()代替showModelDialog()例子

    因为项目中使用showModalDialog函数的地方特别多,所以必须用一个类似方法实现功能,也就是window.open()  首先是判断子窗口关闭,因为项目是在子窗口关闭(确定按钮)的时候向父页面传递值的。

    jsp 刷新父页面

    刷新以winodw.showModelDialog()方法打开的窗口 window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("&lt;script&gt;window.location.href = window.location.href&lt;/script&gt;"); 刷新本...

    window.show

    这里我们主要探讨的是"window.show"相关的概念,包括`showDialog`、`showModelDialog`以及`dialog`,这些都是用来创建和管理弹出窗口的方法。 1. **showDialog**: `showDialog`函数通常在JavaScript或类似的脚本...

    showModalDialog用法

    如果需要跨浏览器支持,建议使用`window.open`或其他第三方库如jQuery UI的Dialog插件。 2. **安全性考虑**:在处理用户输入时,应确保数据的安全性,避免注入攻击等问题。 3. **用户体验**:在设计对话框时,应...

    jquery showModelDialog的使用方法示例详解

    window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框,由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。使用方法:varreturnValue = window.showModalDialog(URL [, arguments]...

    div模拟的showmodeldialog

    2. **模态对话框(Modal Dialog)**:模态对话框是一种阻止用户与页面其余部分交互,直到他们与对话框进行交互的设计模式。在div模拟的showModelDialog中,对话框会出现在页面中央,遮盖住背景内容,通常用于显示...

    jQuery子窗体取得父窗体元素的方法

    特别是当页面使用了iframe、弹出窗口(window.open)或模态对话框(showModelDialog)的时候,如何从子窗体访问并操作父窗体的元素就显得尤为重要。本文将详细介绍如何使用jQuery来实现这一需求。 首先,要在子窗体...

    JS刷新父窗口的几种方式小结(推荐)

    其次,当页面是由子窗口通过`window.open()`方法打开时,可以使用`window.opener`对象来访问打开它的父窗口,并通过相同的`location.reload()`方法来刷新父窗口: ```javascript window.opener.location.reload(); ...

    关系级联菜单(仿Winodw)

    在IT领域,关系级联菜单是一种常见的用户界面(UI)设计模式,特别是在Windows操作系统中广泛使用。这种菜单设计主要用于组织大量的功能选项,使得用户能够通过层次结构来访问和操作,从而提高用户界面的效率和易用...

    showModelDialog使用

    showModelDialog的使用说明,简单易懂

    showModelDialog。js

    兼容ie和chrome的showModelDialog兼容ie和chrome的showModelDialog

    JS中showModalDialog 的使用解析

    这两种方法都属于浏览器的`window`对象,允许开发者展示HTML内容,并与用户进行交互。 ### `showModalDialog` `showModalDialog`方法创建一个**模态**对话框,意味着当对话框打开时,用户必须先关闭它才能继续与父...

    showModelDialog弹出文件下载窗口的使用示例

    `showModelDialog` 是一种常用于前端Web应用中的方法,用于弹出一个模态对话框,通常用于展示信息、确认操作或执行特定任务,如文件下载。在这个场景中,我们讨论的是如何使用 `showModelDialog` 实现一个文件下载的...

    showModuleDialog函数替换

    标签“火狐”提示我们这个函数或其替换过程可能与Firefox浏览器有关,可能存在特定的浏览器兼容性问题需要解决。在跨浏览器开发中,不同的浏览器可能对某些JavaScript特性或jQuery方法有不同的支持程度,因此需要...

    IE js脚本调试插件

    在IT行业中,JavaScript(简称JS)是Web开发中不可或缺的一部分,尤其在构建动态网页和交互式用户界面时。然而,由于其动态特性和浏览器的差异性,调试JS代码常常成为开发者面临的一大挑战。针对这个问题,IE...

Global site tag (gtag.js) - Google Analytics