`
zhengtianbing123
  • 浏览: 55173 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

window.dialogArguments的用法

    博客分类:
  • js
阅读更多
Javascript有许多内建的方法来产生对话框,如:window.alert(),  window.confirm(),window.prompt().等。  然而IE提供更多的方法支持对话框。如:

showModalDialog()  (IE  4+  支持)
showModelessDialog()  (IE  5+  支持)


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

  当我们用showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式[IE5]打开时,  打开对话框的窗口仍可以进行其他的操作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。

使用方法如下:
  vReturnValue  =  window.showModalDialog(sURL  [,  vArguments]  [,  sFeatures])
  vReturnValue  =  window.showModelessDialog(sURL  [,  vArguments]  [,  sFeatures])
参数说明:
  sURL
  必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
  vArguments
  可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
  sFeatures
  可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
    dialogHeight  对话框高度,不小于100px,IE4中dialogHeight  和  dialogWidth  默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
    dialogWidth:  对话框宽度。
    dialogLeft:  距离桌面左的距离。
    dialogTop:  离桌面上的距离。
    center:  {yes  |  no  |  1  |  0  }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
    help:  {yes  |  no  |  1  |  0  }:是否显示帮助按钮,默认yes。
    resizable:  {yes  |  no  |  1  |  0  }  [IE5+]:是否可被改变大小。默认no。
    status:  {yes  |  no  |  1  |  0  }  [IE5+]:是否显示状态栏。默认为yes[  Modeless]或no[Modal]。
    scroll:{  yes  |  no  |  1  |  0  |  on  |  off  }:指明对话框是否显示滚动条。默认为yes。

    还有几个属性是用在HTA中的,在一般的网页中一般不使用。
    dialogHide:{  yes  |  no  |  1  |  0  |  on  |  off  }:在打印或者打印预览时对话框是否隐藏。默认为no。
    edge:{  sunken  |  raised  }:指明对话框的边框样式。默认为raised。
    unadorned:{  yes  |  no  |  1  |  0  |  on  |  off  }:默认为no。

  传入参数:
  要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:

  test1.htm
  ====================
  <script>
    var  mxh1  =  new  Array("mxh","net_lover","孟子E章")
    var  mxh2  =  window.open("about:blank","window_mxh")
    //  向对话框传递数组
    window.showModalDialog("test2.htm",mxh1)
    //  向对话框传递window对象
    window.showModalDialog("test3.htm",mxh2)
  </script>

  test2.htm
  ====================
  <script>
    var  a  =  window.dialogArguments
    alert("您传递的参数为:"  +  a)
  </script>

  test3.htm
  ====================
  <script>
    var  a  =  window.dialogArguments
    alert("您传递的参数为window对象,名称:"  +  a.name)
  </script>

  可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

  test4.htm
  ===================
  <script>
    var  a  =  window.showModalDialog("test5.htm")
    for(i=0;i<a.length;i++)  alert(a[i])
  </script>

  test5.htm
  ===================
  <script>
  function  sendTo()
  {
    var  a=new  Array("a","b")
    window.returnValue  =  a
    window.close()
  }
  </script>
  <body>
  <form>
    <input  value="返回"  type=button  onclick="sendTo()">
  </form>

  常见问题:
  1,如何在模态对话框中进行提交而不新开窗口?
  如果你  的  浏览器是IE5.5+,可以在对话框中使用带name属性的iframe,提交时可以制定target为该iframe的name。对于IE4+,你可以用高度为0的frame来作:例子,

  test6.htm
  ===================
  <script>
    window.showModalDialog("test7.htm")
  </script>

  test7.htm
  ===================
  if(window.location.search)  alert(window.location.search)
  <frameset  rows="0,*">
    <frame  src="about:blank">
    <frame  src="test8.htm">
  </frameset>

  test8.htm
  ===================
  <form  target="_self"  method="get">
  <input  name=txt  value="test">
  <input  type=submit>
  </form>
  <script>
  if(window.location.search)  alert(window.location.search)
  </script>
  2,可以通过http://servername/virtualdirname/test.htm?name=mxh方式直接向对话框传递参数吗?
  答案是不能。但在frame里是可以的。
分享到:
评论
1 楼 jc_dreaming 2010-06-25  

相关推荐

    window.dialogArguments 使用说明

    - 由于`window.dialogArguments` 的局限性,现代Web开发通常推荐使用`iframe`、`popstate`事件、`postMessage` API等技术来实现窗口间的数据交换和通信,这些方法具有更好的跨浏览器兼容性。 7. **总结** `window...

    js模式化窗口问题![window.dialogArguments]

    在本文中,我们将讨论在使用模式化窗口时遇到的问题及其解决方案,特别是与`window.dialogArguments`对象相关的兼容性问题。 1. 弹出窗口的方法: - `window.open()`是最常见的弹出窗口方式,可以自定义参数,如...

    Window.ShowModalDialog使用手册

    在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...

    Window.showDialog详解合集

    在本合集中,我们将深入探讨`showDialog`的使用方法及其在页面间参数传递的应用。 首先,`window.showDialog`通常与JavaScript或Java的AJAX技术结合使用,因为它本身并不属于JSP标准库的一部分。在JavaScript中,`...

    window.showModalDialog的基本用法

    ### window.showModalDialog 的基本用法 `window.showModalDialog` 是一个早期的浏览器功能,主要在 Internet Explorer(IE)4.0 及以上版本中支持。它用于打开一个新的模态对话框窗口,并且该窗口将阻止用户与主...

    ShowModalDialog与window.open的区别

    这些数据可以通过对话框窗口中的 `window.dialogArguments` 属性获取。 - **sFeatures**: 可选参数,设置对话框的一些特性,如大小、位置等。 #### 三、sFeatures详解 - **dialogHeight**: 设置对话框的高度,单位...

    window.showModalDialog方法的使用

    下面我们将详细探讨`window.showModalDialog`的使用及其相关知识点。 首先,`window.showModalDialog`的基本语法如下: ```javascript var returnValue = window.showModalDialog(url, [dialogArguments], ...

    window.showModalDialog(javascript)

    本文将重点介绍模态对话框的使用方法`window.showModalDialog()`。 模态对话框是一种阻止用户与网页其他部分互动,直到关闭对话框为止的交互方式。`window.showModalDialog()`是Internet Explorer 4及更高版本支持...

    js的window.showModalDialog及window.open用法实例分析

    基本使用方法如下: ```javascript vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) ``` - `sURL`:与`window.open`一样,用于指定对话框显示的HTML内容的URL。 - `vArguments`:可选...

    JS模态窗口返回值兼容问题的完美解决方法

    因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题。 function OKEnd(vals) { if (vals == null) vals = TRUE; if (typeof (window.opener) == undefined) { ...

    ShowModalDialog父窗体向子窗体传值

    在子页面中,可以使用`window.dialogArguments`访问这些参数: ```javascript var param1 = window.dialogArguments.param1; var param2 = window.dialogArguments.param2; ``` 同时,`showModalDialog`和`...

    showModalDialog和window.open

    - `vArguments`是可选参数,可以向打开的窗口传递数据,这些数据可以通过`window.dialogArguments`在子窗口中获取。 - `sFeatures`是可选参数,用于定义弹出窗口的特征,如宽度、高度、是否显示滚动条等。 **特点:...

    dialogArguments

    本文旨在详细介绍`dialogArguments`的使用方法、应用场景以及与之相关的技术细节,帮助开发者更好地理解和运用这一特性。 #### `dialogArguments`属性简介 `dialogArguments`属性主要用于传递参数给由`window....

    window.showModalDialog的一个domo模型

    下面我们将详细讨论`window.showModalDialog`的用法及其与`parent.jsp`页面的关系。 `window.showModalDialog`的主要作用是打开一个新的浏览器窗口,这个窗口会阻止用户与当前窗口的交互,直到新窗口被关闭。它的...

    Window.ShowModalDialog使用手册_对话框 .txt

    ### Window.ShowModalDialog 使用手册详解 #### 一、概述 `Window.ShowModalDialog` 是一个在 Internet Explorer 浏览器中特有的方法,用于创建模态对话框。此方法允许开发者在一个新的窗口中打开一个HTML页面,...

    window.showModalDialog('d.html',fault,'');

    " 指的是在JavaScript中使用`window.showModalDialog()`方法打开一个模态对话框。这个方法在Web开发中用于创建阻塞用户界面,直到对话框被关闭,用户无法与页面的其他部分交互。在给出的示例中,`d.html`是被打开的...

    刷新父窗口的多种方法

    ### 刷新父窗口的多种方法 在Web开发中,经常会出现需要从子窗口或弹出窗口刷新父窗口的情况。...此外,随着浏览器技术的发展,某些方法可能会逐渐被淘汰或不再推荐使用,因此在实际开发过程中也需要关注这些变化。

Global site tag (gtag.js) - Google Analytics