开店乐

开店乐电子商务研究 KaiDianLe.Com

网站地图 :

  搜索:

showModelessDialog()使用详解

作者:佚名    文章来源:不详    点击数:    更新时间:2006-8-7     javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如:

    showModalDialog() (IE 4+ 支持)
   showModelessDialog() (IE 5+ 支持)【文章来自:开店乐电子商务研究KaiDianLe.Com

    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里是可以的。


 


【日期:2006-10-19】【作者:不祥】【转载自:开店乐】

相关文章:
 最好的网上开店系统:凡人网络购物系统免费下载
 定位你的网站CI形象
 网页布局理念
 主页的艺术处理
 怎样设计首页?(解答)
 新颜:经典品牌logo的web2.0版
 世界顶尖网页设计师作品
 韩国站点精选
 服装网站
 商业网站设计主要原则
 几千个3D及素材网址收集!
 网站欣赏0131
 网站欣赏0130
 网站欣赏013
 网站欣赏0219
 网站欣赏0218
 网站欣赏0216
 网站欣赏0215
 网站欣赏0214
 网站欣赏0213
 网站欣赏0211
 网站欣赏0212
 网站欣赏021
 网站欣赏0119
 网站欣赏0118
 网站欣赏0117
 网站欣赏0115
 网站欣赏011
 网站欣赏113
 网站欣赏112
 网站欣赏111
 网站欣赏110
 网站欣赏109
 网站欣赏108
 网站欣赏108
 网站欣赏107
 网站欣赏107
 网站欣赏106
 网站欣赏105
 网站欣赏104
 网站欣赏103
 网站欣赏102
 网站欣赏101
 网站欣赏10
 网站欣赏99
 网站欣赏98
 网站欣赏97
 网站欣赏96
 网站欣赏95
 网站欣赏94
 网站欣赏93
 网站欣赏92
 网站欣赏91
 网站欣赏90
 网站欣赏9
 网站欣赏89
 网站欣赏88
 网站欣赏87
 网站欣赏86
 网站欣赏85
 网站欣赏84
 网站欣赏83
 网站欣赏82
 网站欣赏81
 网站欣赏80
 网站欣赏8
 网站欣赏79
 网站欣赏78
 网站欣赏77
 网站欣赏76
 网站欣赏75
 网站欣赏74
 网站欣赏73
 网站欣赏72
 网站欣赏71
 网站欣赏70
 网站欣赏7
 网站欣赏69
 网站欣赏68
 网站欣赏67
 网站欣赏66
 网站欣赏65
 网站欣赏64
 网站欣赏63
 网站欣赏62
 网站欣赏61
 网站欣赏60
 网站欣赏6
 网站欣赏59
 网站欣赏58
 网站欣赏57
 网站欣赏56
 网站欣赏55
 网站欣赏54
 网站欣赏53
 网站欣赏52
 网站欣赏51
 网站欣赏50
 网站欣赏5
 网站欣赏49
 网站欣赏48

版权所有:Kaidianle.Com  联系方式:Shnxn@Yhaoo.Com.Cn 京ICP备06028743号 在线留言