如何在火狐浏览器中和Netscape实现。IE中的window.showModalDialog()

yuweiwei 2008-05-14 03:17:02
请教!!
如何能在火狐浏览器中 实现ie效果中的下面效果
window.showModalDialog('frame.aspx?id=<%=Request["Id"] %>&'+Math.random(),null,"scroll=yes;dialogWidth=650px;");
请用脚本怎么写
...全文
267 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
redlotoc 2008-05-14
  • 打赏
  • 举报
回复
参照http://www.cnblogs.com/yeahooh/archive/2006/06/20/430776.html,再改改,保证弹出页面时刻得到焦点。
skyaspnet 2008-05-14
  • 打赏
  • 举报
回复
给你参考一下, JS兼容就可以实现了, 最重要的内容我已经用红色标出:

IE 与 FireFox 的 showModalDialog
在网页程序中,
有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,
而在IE中,我们可以使用showModalDialog来达成,
语法如下 :


vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])


范例:


window.showModalDialog("openwin.html","Arguments","dialogHeight: 200px; dialogWidth: 200px; dialogTop: 10px; dialogLeft: 10px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;");


但是.在Firefox中却没有showModalDialog这东西,
而在FireFox中我们只能使用window.open实现这样的功能,
window.open的语法如下 :


oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace])


只是,在Firefox下,window.open的参数中,sFeature多了一些功能设定,
而在FireFox下要让开启的窗口跟IE的showModalDialog一样的话,
只要在sFeatures中加个modal=yes就可以了,
范例如下:



window.open('openwin.html','newWin','modal=yes,width=200,height=200,resizable=no,scrollbars=no');


提到了子窗口,不得不提的就是子窗口跟母窗口间的交互操作,
因为我想很多人开启对话窗口应该都是为了将操作完的结果丢回去给母窗口...


如果是用showModalDialog的话,
在子窗口中要存取母窗口的函数的话,
要注意两个地方,
1.(母窗口中)开启窗口:


window.showModalDialog("openwin.html",self,'modal=yes,width=775,height=700,resizable=no,scrollbars=no');


在第二个参数(vArguments),改成self.


2.(子窗口中)调用母窗口的函数:


window.dialogArguments.ShowMsg(obj.value);


ShowMsg为母窗口中的函数.





而使用window.open的话,
则是要注意一个地方,
1.(子窗口中)调用母窗口的函数:


window.opener.ShowMsg(obj.value);


使用window.opener去接母窗口的对象.


如此一来,只要再透过navigator.appName去判断浏览器为何,
就可以写一个IE与FireFox兼容的函数...

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧