`

showModalDialog IE 与 firefox

阅读更多

1.-------------------------

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

var 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兼容的函数...



showModalDialog 中的 retrunValue


父页:

function edit(){ 
      var str = window.showModalDialog("b.action","","dialogWidth:100px;dialogHeight:200px;scroll:yes;status:no"); 
} 
 

子页:

function rs(){
   window.returnValue='要返回的值';
   window.close();
} 

 

2.---------------------------------

从 Firefox 3 开始,支持 showModalDialog,但还不支持 showModelessDialog(注意前面一个是 Modal,后面一个是 Model)。

语法和 IE 中的相同,不过与 IE 中的 showModalDialog 相比,还是有些不同:

dialogWidth 和 dialogHeight

  • Firefox 中这两个属性的宽度和高度不包括边框和地址栏、状态栏、标题栏。
  • IE 中是包括的。

窗口大小调节

  • Firefox 中虽然可以用 JavaScript 为 dialogWidth 和 dialogHeight 指定新的值,但窗口大小并不改变。
  • IE 中,可以通过 dialogWidth 和 dialogHeight 来改变窗口大小。

未实现的属性

  • Firefox 中没有实现 dialogHide、edge、status 属性。


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Ie和firefox的Js区别

    - **窗口**:IE支持`showModalDialog`和`showModelessDialog`方法,Firefox不支持。可以用`window.open()`替代,如果需要传递参数,可借助frame或iframe。 2. **总结** - **对象变量名**:在JavaScript中,建议...

    ie firefox 兼容问题大全

    ### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...

    IE和Firefox在css,JavaScript方面的兼容性

    标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...

    IE和Firefox中J avaScript兼容

    本文将详细介绍在IE与Firefox浏览器之间实现JavaScript脚本兼容的方法,主要涉及函数、属性、方法等方面的内容。 #### 1. 获取表单元素 - **IE**: 支持`document.formName.item("itemName")`和`document.formName....

    firefox与IE对js和CSS的区别.txt

    ### Firefox与IE对JS和CSS的兼容性差异详解 #### 一、概述 随着Web技术的发展,浏览器成为了连接用户与互联网的重要桥梁。然而,不同浏览器对JavaScript(简称JS)及CSS的支持程度各不相同,这给前端开发人员带来...

    Javascript在IE和Firefox浏览器常见兼容性问题总结

    JavaScript在不同浏览器之间存在一些兼容性问题,尤其是在早期版本的Internet Explorer(IE)和Firefox之间。这些问题主要体现在访问和操作DOM元素、事件处理、属性访问以及函数调用等方面。以下是一些关键点的详细...

    showModalDialog技术文章

    5. **兼容性问题**:由于`showModalDialog`在现代浏览器中的支持度已经下降,文章可能会提到与IE、Firefox、Chrome等浏览器的兼容性问题,以及替代方案。 6. **优点和缺点**:分析`showModalDialog`相比于其他弹窗...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    3> IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定才能生效;采用opener方式操作父窗口时都不需要...

    window.showModalDialog方法的使用

    例如,它不支持CSS3、HTML5的新特性,而且在某些浏览器(如Chrome和Firefox)中默认被禁用或行为有所改变。因此,在开发过程中,更推荐使用`window.open`配合`display: none`的CSS来实现类似的效果,或者使用现代...

    编写兼容IE和FireFox的脚本

    Firefox支持`showModalDialog`,但与IE处理对话框参数的方式不同。在IE中,可以通过`window.dialogArguments`访问,而在Firefox中,需要使用`window.parent.dialogArguments`。确保在跨框架的`showModalDialog`中...

    针对window.showmodaldialog弹出窗体无刷新的详细使用

    `window.showModalDialog` 在一些现代浏览器中已被废弃,例如Chrome在某些版本中默认禁用了该功能,而Firefox则建议使用其他方法。因此,在使用时需考虑兼容性问题,特别是对于移动设备和较新的浏览器版本。 8. **...

    JS 弹出对话框window.showModalDialog()

    需要注意的是,`window.showModalDialog()` 是IE专有的API,在现代浏览器(如Chrome、Firefox等)中不支持。因此,在开发跨浏览器应用时,推荐使用更广泛的解决方案,如: - **HTML5 `<dialog>` 元素**: 提供了原生...

    javascript firefox兼容ie的dom方法脚本

    本文旨在探讨JavaScript中为Firefox浏览器提供与IE浏览器相同的DOM操作方法的脚本,以增强网页的跨浏览器兼容性。文章从JavaScript代码兼容性问题出发,重点讨论了IE和Firefox在DOM处理上的差异,并提供了相应的解决...

    IE和ff的兼容技巧

    ### IE与Firefox的兼容技巧详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。不同的浏览器由于其内核的不同,在解析HTML、CSS及JavaScript时存在差异,这就导致了相同...

    Chrome中模态对话框showModalDialog返回值问题的解决方法

    这可能是由于Chrome对`showModalDialog`的实现与其他浏览器(如IE和Firefox)不一致造成的。为了解决这个问题,一种可行的跨浏览器解决方案是,在弹出的对话框中同时设置`window.openerReturnValue`,如下所示: ``...

Global site tag (gtag.js) - Google Analytics