`
liss
  • 浏览: 842950 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Javascript 中 ShowModalDialog 的使用方法

阅读更多

ShowModalDialog函数的功能:
打开一个子窗口,并且可与父窗口相互传递数据,它与window.open的最大区别就在于由ShowModalDialog打开子窗口后,父窗口将不能操作。
使用方法:
vReturnValue = window.showModalDialog(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。
参数传递方法:
父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可,父窗口要获取子窗口传回的参数则可通过ShowModalDialog函数的返回值获取。
子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获取,例如:
var a=window.dialogArguments;
子窗口向父窗口返回参数采用window.returnValue属性,如:
window.returnValue=1;
window.close();

本文转自
http://blog.csdn.net/qunluo/archive/2005/11/21/533727.aspx

-----------------------------------------------------------------------------------------------------------------------------------------------------


showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同?
  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
  showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)

二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的。

三、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码:

<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload...</a>

  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合<base target="_self">使用,不然你按下F5会弹出新窗口的。

四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  <input type="button" value="关闭" onclick="window.close()">
  也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。

五、showModalDialog和showModelessDialog数据传递技巧。
  (作者语:本来想用一问一答形式来写的,但是我想不出这个怎么问,所以只好这样了。)
  这个东西比较麻烦,我改了好几次了不是没办法说明白(语文水平越来越差了),只好用个例子说明了。
  例子:
    现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name

      一般的传递方式:
        window.showModalDialog("filename.htm",var_name)
        //传递var_name变量
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments)//读取var_name变量
        window.dialogArguments="oyiboy"//设置var_name变量
    这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
    
      以下是我建议使用的传递方式:
        window.showModalDialog("filename.htm",window)
        //不管要操作什么变量,只直传递主窗口的window对象
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments.var_name)//读取var_name变量
        window.dialogArguments.var_name="oyiboy"//设置var_name变量

        同时我也可以操作var_id变量
        alert(window.dialogArguments.var_id)//读取var_id变量
        window.dialogArguments.var_id="001"//设置var_id变量

        同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
        window.dialogArguments.form1.index1.value="这是在设置index1元素的值"

六、多个showModelessDialog的相互操作。
  因为光说很费劲,我就偷点懒,直接用代码来说了,如果不明白的话那就直接来信(oyiboy#163.net(使用时请将#改成@))问我吧。

  以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。

  主文件的部份js代码。
  var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px") //打开控制窗口
  var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px")  //打开被控制窗口

  控制.htm的部份代码。
  <script>
    //操作位置数据,因为窗口的位置数据是"xxxpx"方式的,所以需要这样的一个特殊操作函数。
 function countNumber(A_strNumber,A_strWhatdo)
 {
  A_strNumber=A_strNumber.replace('px','')
  A_strNumber-=0
  switch(A_strWhatdo)
  {
  case "-":A_strNumber-=10;break;
  case "+":A_strNumber+=10;break;
  }
  return A_strNumber + "px"
 }
  </script>
  <input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="上移">
  <input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="左移">
  <input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="右移">
  <input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="下移">

  以上关键部份是:
    窗口命名方式:var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px")
    变量访问方式:window.dialogArguments.s2.dialogTop

  这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能,通过这个原理,在showModelessDialog之间相互控制各自的显示页面,传递变量和数据等。这要看各位的发挥了。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuansicau/archive/2008/08/29/2847923.aspx

分享到:
评论

相关推荐

    javascript中showModalDialog子页面值赋给父页面

    总结一下,要在JavaScript中使用`showModalDialog`将子页面的JSON值赋给父页面,你需要在子页面中收集并序列化数据,然后设置`window.returnValue`。父页面通过调用`showModalDialog`函数,接收返回值并进行反序列化...

    Window.ShowModalDialog使用手册

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

    javascript showModalDialog模态对话框使用说明

    1. 标准的方法 代码如下: [removed] function openWin(src, width, height, showScroll){ window.showModalDialog (src,””,”location:No;status:No;help:No;dialogWidth:”+width+”;dialogHeight:”+height+”;...

    showModalDialog和open方法demo实例

    在`DialogDemo`这个实例中,可能包含了使用`showModalDialog`方法创建对话框的代码和相关HTML、CSS和JavaScript文件,供开发者学习和参考。通过查看和运行这些示例,你可以更好地理解这两个方法的用法和效果。在实际...

    window.showModalDialog方法的使用

    在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    showModalDialog参数使用详解

    需要注意的是,由于`showModalDialog`在某些浏览器(尤其是现代的Chrome和Firefox)中被弃用,开发者应考虑使用其他替代方案,如Bootstrap的模态插件、自定义CSS和JavaScript实现的模态框,或者使用HTML5的`&lt;dialog&gt;...

    使用selenium测试showModalDialog模态对话框

    然而,对于某些特定的功能,比如 Internet Explorer 中的 `showModalDialog` 方法,Selenium 存在一定的局限性。`showModalDialog` 是一个古老的浏览器API,用于创建模态对话框,它会阻塞页面的JavaScript执行,直到...

    window.showModalDialog(javascript)

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

    showModalDialog和showModelessDialog使用心得

    ### showModalDialog和...掌握这些方法的基本原理和使用技巧仍然有其价值,但在实际项目中,推荐使用HTML5的`&lt;dialog&gt;`元素或成熟的JavaScript框架提供的解决方案,以确保跨浏览器的兼容性和性能优化。

    showModalDialog()、showModelessDialog()方法的使用.

    在Web开发中,有时我们需要创建弹出式窗口与用户交互,这时就涉及到`showModalDialog()`和`showModelessDialog()`这两个JavaScript方法。这两个方法都是IE浏览器提供的,用于创建具有不同特性的对话框。 1. `...

    关于struts2里用javascript刷新window.showModalDialog的父页面

    ### 关于Struts2中利用JavaScript刷新window.showModalDialog的父页面 在Web开发中,尤其是在使用Struts2框架进行项目开发时,我们经常会遇到需要弹出模态对话框(modal dialog)的需求。其中一个常见的场景就是...

    showModalDialog参数传递和获

    由于`showModalDialog`不支持最新的Web标准,存在许多问题,如不兼容性(主要在IE浏览器中使用)、无法进行CSS3和JavaScript增强以及阻塞主线程等。因此,现代Web开发通常使用更灵活的替代方案,如`&lt;dialog&gt;`元素、...

    showModalDialog

    "showModalDialog"是JavaScript中的一个古老但仍然有用的弹出窗口方法,用于在浏览器环境中打开一个新的对话窗口。这个方法在Web开发中主要用于创建模态对话框,即那些阻止用户与页面其余部分交互直到对话框被关闭的...

    JS中showModalDialog 的使用解析.docx

    在JavaScript中,`showModalDialog`是一个非常有用的函数,它允许开发者创建模态对话框来增强用户交互体验。模态对话框是一种特殊的窗口,当它打开时,用户必须先关闭这个对话框才能继续与主窗口进行交互。这与非...

    JavaScript中window.showModalDialog()用法详解

    JavaScript中的window.showModalDialog()方法允许开发者在浏览器窗口中创建一个模态对话框,这种对话框能够显示HTML内容。使用showModalDialog()方法,开发者可以控制子窗口的行为,例如窗口的大小、位置、是否可...

    如何使用showModalDialog

    本篇文章将深入探讨`showModalDialog`的使用方法、参数、返回值以及它在现代Web开发中的地位。 `showModalDialog`的基本语法如下: ```javascript window.showModalDialog(url, windowObject, features); ``` 1. ...

    JS中showModalDialog 详细使用.txt

    1. **刷新问题**:如果在打开的对话框中使用 `&lt;base target="_self"&gt;`,这将导致对话框刷新时出现问题。为了防止这种情况,可以使用 JavaScript 监听 F5 键,并模拟点击隐藏的链接来进行刷新。 2. **兼容性**:由于 ...

    showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口

    让我们深入探讨一下`showModalDialog`的使用方法及其相关知识点。 首先,`showModalDialog`的基本语法如下: ```javascript var returnValue = window.showModalDialog(url, arguments, features); ``` - `url`:...

    showModalDialog技术文章

    这篇名为"showModalDialog技术文章"的博客文章可能详细介绍了这个API的使用方法、优缺点以及一些实际应用场景。 `showModalDialog`函数在JavaScript中被用来创建一个阻塞式的对话窗口,这意味着用户必须与对话框...

Global site tag (gtag.js) - Google Analytics