在网页程序中,
有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,
而在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兼容的函数...
分享到:
相关推荐
- **窗口**:IE支持`showModalDialog`和`showModelessDialog`方法,Firefox不支持。可以用`window.open()`替代,如果需要传递参数,可借助frame或iframe。 2. **总结** - **对象变量名**:在JavaScript中,建议...
### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...
标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...
本文将详细介绍在IE与Firefox浏览器之间实现JavaScript脚本兼容的方法,主要涉及函数、属性、方法等方面的内容。 #### 1. 获取表单元素 - **IE**: 支持`document.formName.item("itemName")`和`document.formName....
### Firefox与IE对JS和CSS的兼容性差异详解 #### 一、概述 随着Web技术的发展,浏览器成为了连接用户与互联网的重要桥梁。然而,不同浏览器对JavaScript(简称JS)及CSS的支持程度各不相同,这给前端开发人员带来...
JavaScript在不同浏览器之间存在一些兼容性问题,尤其是在早期版本的Internet Explorer(IE)和Firefox之间。这些问题主要体现在访问和操作DOM元素、事件处理、属性访问以及函数调用等方面。以下是一些关键点的详细...
例如,它不支持CSS3、HTML5的新特性,而且在某些浏览器(如Chrome和Firefox)中默认被禁用或行为有所改变。因此,在开发过程中,更推荐使用`window.open`配合`display: none`的CSS来实现类似的效果,或者使用现代...
5. **兼容性问题**:由于`showModalDialog`在现代浏览器中的支持度已经下降,文章可能会提到与IE、Firefox、Chrome等浏览器的兼容性问题,以及替代方案。 6. **优点和缺点**:分析`showModalDialog`相比于其他弹窗...
3> IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定才能生效;采用opener方式操作父窗口时都不需要...
`window.showModalDialog` 在一些现代浏览器中已被废弃,例如Chrome在某些版本中默认禁用了该功能,而Firefox则建议使用其他方法。因此,在使用时需考虑兼容性问题,特别是对于移动设备和较新的浏览器版本。 8. **...
Firefox支持`showModalDialog`,但与IE处理对话框参数的方式不同。在IE中,可以通过`window.dialogArguments`访问,而在Firefox中,需要使用`window.parent.dialogArguments`。确保在跨框架的`showModalDialog`中...
需要注意的是,`window.showModalDialog()` 是IE专有的API,在现代浏览器(如Chrome、Firefox等)中不支持。因此,在开发跨浏览器应用时,推荐使用更广泛的解决方案,如: - **HTML5 `<dialog>` 元素**: 提供了原生...
6. **模态和非模态窗口**:IE提供了`showModalDialog`和`showModelessDialog`方法打开模态和非模态窗口,Firefox不支持。可以使用`window.open()`函数并自定义CSS实现类似效果。 7. **`body`元素的存在时间**:Fire...
兼容火狐和IE插入图片的js代码,IE9不兼容showModalDialog的处理方法。
然而,Firefox、Safari和Chrome则逐渐停止支持,它们的行为更接近`window.open`,可能不会阻止父窗口的交互,且返回值可能无效。Opera同样不支持此方法,可能导致没有对话框弹出或任何反应。 由于这种不一致性,...