`

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下要让开启的窗口跟IEshowModalDialog一样的话
,
只要在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去判断浏览器为何,
就可以写一个IEFireFox兼容的函数...

 

分享到:
评论
1 楼 kakalot 2010-11-05  
从firefox3 开始也支持showModalDialog了

相关推荐

    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元素、事件处理、属性访问以及函数调用等方面。以下是一些关键点的详细...

    window.showModalDialog方法的使用

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

    showModalDialog技术文章

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

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

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

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

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

    编写兼容IE和FireFox的脚本

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

    JS 弹出对话框window.showModalDialog()

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

    javascript firefox兼容ie的dom方法脚本

    6. **模态和非模态窗口**:IE提供了`showModalDialog`和`showModelessDialog`方法打开模态和非模态窗口,Firefox不支持。可以使用`window.open()`函数并自定义CSS实现类似效果。 7. **`body`元素的存在时间**:Fire...

    iframe编辑器火狐和IE插入图片的区别

    兼容火狐和IE插入图片的js代码,IE9不兼容showModalDialog的处理方法。

    showModalDialog模态对话框的使用详解以及浏览器兼容

    然而,Firefox、Safari和Chrome则逐渐停止支持,它们的行为更接近`window.open`,可能不会阻止父窗口的交互,且返回值可能无效。Opera同样不支持此方法,可能导致没有对话框弹出或任何反应。 由于这种不一致性,...

Global site tag (gtag.js) - Google Analytics