showmodaldialog()showmodelessdialog()方法使用详解

上传人:子 文档编号:42994617 上传时间:2018-06-04 格式:DOC 页数:22 大小:25.34KB
返回 下载 相关 举报
showmodaldialog()showmodelessdialog()方法使用详解_第1页
第1页 / 共22页
showmodaldialog()showmodelessdialog()方法使用详解_第2页
第2页 / 共22页
showmodaldialog()showmodelessdialog()方法使用详解_第3页
第3页 / 共22页
showmodaldialog()showmodelessdialog()方法使用详解_第4页
第4页 / 共22页
showmodaldialog()showmodelessdialog()方法使用详解_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《showmodaldialog()showmodelessdialog()方法使用详解》由会员分享,可在线阅读,更多相关《showmodaldialog()showmodelessdialog()方法使用详解(22页珍藏版)》请在金锄头文库上搜索。

1、showModalDialog()showModelessDialog()showModalDialog()showModelessDialog()方法使用详解方法使用详解showModalDialog()、showModelessDialog()方法使用详解 选择自 tanruitian 的 Blog 关键字 showModalDialog()、showModelessDialog()方法使用详解 出处 Javascript 有许多内建的方法来产生对话框,如:window.alert(),window.confirm(),window.prompt().等。 然而 IE 提供更多的方法支持对

2、话框。如:showModalDialog() (IE 4+ 支持)showModelessDialog() (IE 5+ 支持)window.showModalDialog()方法用来创建一个显示 HTML 内容的模态对话框,由于是对话框,因此它并没有一般用 window.open()打开的窗口的所有属性。window.showModelessDialog()方法用来创建一个显示 HTML 内容的非模态对话框。当我们用 showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式IE5打开时, 打开对话框的窗口仍可以进行其他的操作,即对话框不总

3、是最上面的焦点,当打开它的窗口改变时,它自动关闭。而模态方式的对话框始终有焦点(焦点不可移走,直到它关闭) 。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。使用方法如下:vReturnValue = window.showModalDialog(sURL , vArguments , sFeatures)vReturnValue = window.showModelessDialog(sURL , vArguments , sFeatures)参数说明:sURL必选参数,类型:字符串。用来指定对话框要显示的文档的 URL。vArgu

4、ments可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过 window.dialogArguments 来取得传递进来的参数。sFeatures可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。dialogHeight 对话框高度,不小于px,中dialogHeight 和 dialogWidth 默认的单位是 em,而中是px,为方便其见,在定义 modal 方式的对话框时,用 px 做单位。dialogWidth: 对话框宽度。dialogLeft: 距离桌面左的距离。dialogTop: 离桌面上的距离

5、。center: yes | no | 1 | 0 :窗口是否居中,默认 yes,但仍可以指定高度和宽度。help: yes | no | 1 | 0 :是否显示帮助按钮,默认yes。resizable: yes | no | 1 | 0 :是否可被改变大小。默认 no。status: yes | no | 1 | 0 IE5+:是否显示状态栏。默认为 yes Modeless或 noModal。scroll: yes | no | 1 | 0 | on | off :指明对话框是否显示滚动条。默认为 yes。还有几个属性是用在 HTA 中的,在一般的网页中一般不使用。dialogHide:

6、yes | no | 1 | 0 | on | off :在打印或者打印预览时对话框是否隐藏。默认为 no。edge: sunken | raised :指明对话框的边框样式。默认为raised。unadorned: yes | no | 1 | 0 | on | off :默认为 no。传入参数:要想对话框传递参数,是通过 vArguments 来进行传递的。类型不限制,对于字符串类型,最大为 4096 个字符。也可以传递对象,例如:test1.htm=var mxh1 = new Array(“mxh“,“net_lover“,“孟子 E 章“)var mxh2 = window.open

7、(“about:blank“,“window_mxh“)/ 向对话框传递数组window.showModalDialog(“test2.htm“,mxh1)/ 向对话框传递 window 对象window.showModalDialog(“test3.htm“,mxh2)test2.htm=var a = window.dialogArgumentsalert(“您传递的参数为:“ + a)test3.htm=var a = window.dialogArgumentsalert(“您传递的参数为 window 对象,名称:“ + a.name)可以通过 window.returnValue

8、向打开对话框的窗口返回信息,当然也可以是对象。例如:test4.htm=var a = window.showModalDialog(“test5.htm“)for(i=0;itest5.htm=function sendTo()var a=new Array(“a“,“b“)window.returnValue = awindow.close()常见问题:1,如何在模态对话框中进行提交而不新开窗口?如果你 的 浏览器是 IE5.5+,可以在对话框中使用带 name 属性的iframe,提交时可以制定 target 为该 iframe 的 name。对于 IE4+,你可以用高度为 0 的 fr

9、ame 来作:例子,test6.htm=window.showModalDialog(“test7.htm“)test7.htm=if(window.location.search) alert(window.location.search)test8.htm=if(window.location.search) alert(window.location.search)2,可以通过http:/servername/virtualdirname/test.htm?name=mxh 方式直接向对话框传递参数吗?答案是不能。但在 frame 里是可以的。pWindow = showModeless

10、Dialog(“components/inspector.htm“,window,curObj,“dialogWidth:395px;dialogHeight:227px;dialogLeft:400;dialogTop:200;help:no;status:no;scroll:no;resizable:yes“);.function sTarResizeCw(width,height)pWindow.dialogLeft = pWindow.dialogLeft;/为了保持位置不变,否则默认还原到打开时候的 center=yespWindow.dialogTop = pWindow.dial

11、ogTop; /结果失败了,:( 继续中找资料中.pWindow.dialogWidth = width+“px“;pWindow.dialogHeight = height+“px“;pWindow 是返回值,不是窗口对象,因此不能象一般用window.open 打开的窗口那样进行操作。模态对话框的属性是在打开时设置的对于 showModalDialog()得交弹出新网页的解决方法:showModalDialog()是不能够提交给自己的,得交给自己的话就会有新页面产生,所以你要指写 form 里的 target 等于一个值。showModalDialog()里:在主页面里加一个隐藏的 ifr

12、ame 浮动框架:这样提交就不会有新的页面产生了。JavaScript 支持几种内建的对话框:window.alert()、window.confirm()以及 window.prompt()。当弹出一个对话框时,用户就不可以再聚焦到初始页面,除非对话框操作结束。换言之,对话框永远是被聚焦的。Internet Explorer 支持一些方法,使用它们能让你在任何新窗口上应用它们: showModalDialog() (Internet Explorer 4 和以上版本) showModelessDialog() (Internet Explorer 5 和以上版本) 以下是这些方法的语法: v

13、ReturnValue = window.showModalDialog(sURL, vArguments, sFeatures); vReturnValue = window.showModelessDialog(sURL, vArguments, sFeatures); 第 1 个参数是一个字符串,它指定了在新窗口中装载并显示的文档 URL。第 2 个参数,vArguments,是一个 variant,它指定了显示文档的命令。使用这个参数时,可以传递任意类型的数组或者数值。对话框能够从 window 对象的 dialogArguments 属性中将数值传递给调用者。 当通过其中一个方法打开

14、一个新窗口时,新窗口(对话框)的window 对象特写了 dialogArguments 属性,它包含了分配给调用方法的 vArguments 参数的数值。来看看下面的语句: window.showModalDialog(“modalurl.html“, window); 注意,第 2 个命令参数实际上是当前浏览器窗口的 window 对象。下面是文件 modalurl.html 的代码: Change the URL Pick your favorite investment site: F (The Motley Fool) MoneyCentral Investor TheS 当用户在对

15、话框中点击“Load”按钮,打开者窗口的 URL 就变为选择的数值。为了数值窗口文档的 URL,我们必须分配一个数值给需要 window 对象的 location.href 属性。在这里,我们指定调用者的 window 对象做为 showModalDialog()方法的第 2 个参数,所以,新窗口(对话框)中 dialogArguments 属性就对应于调用者的window 对象。 注意函数开始的对象检测程序段。因为 dialogArguments 属性只存在于由 showModalDialog()和 showModelessDialog()方法创建的窗口中,所以,我们必须确认在使用它们前这个属性是否存在。而且,我们需要查找一个 location.href 属性来确认dialogArguments 属性真正地对应于一个合法的 window 对象。 load()函数的最后语句关闭对话框,从而指定的文档能够在原始窗口被装载。注意,如果我们使用 showModelessDialog()方法替代 showModalDialog()方法,我们就不需要特别地关闭窗口,因为,即使对话框仍然打开时,新的 URL 依然会在下面的窗口(打开者)被装载。在这里,当调用者的 URL 改变时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号