世界上为什么有那么多的浏览器,兼容性,我擦。。。
貌似火狐3以上的版本能支持子窗口关闭后showModalDialog传值了,但我项目上一直不行,郁闷中,,解决方案
在一个父窗口中打开一个子窗口,并把子窗口的值传递给父窗口
在父窗口中:
<script language="javascript">
function colorpick(obj){
if (window.showModalDialog!=null)//IE判断
{
var smd= window.showModalDialog("Default2.aspx","","dialogWidth:225px;dialogHeight:170px;status:no;help:no;scrolling=no;scrollbars=no");
if(smd!=null)
obj.style.background=rtn;
return;
}
else
{
this.returnAction=function(strResult){
if(strResult!=null)
obj.style.background=strResult;
}
window.open("Default2.aspx","","width=225,height=170,menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes");
return;
}
}
</script>
在子窗口中:
function act(RGB) {
if (window.showModalDialog!=null)//IE判断
{
parent.window.returnValue="#"+RGB;
window.close();//firefox不支持
}
else
{
window.opener.returnAction("#"+RGB);
top.close();//IE和FireFox都支持
}
}
分享到:
相关推荐
It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag enabled in `chrome://flags/#enable-javascript-harmony` and in the latest Mozilla Firefox with the *dom.dialog_...
然而,`Window.showModalDialog()`在现代浏览器中的支持并不一致,特别是在Chrome和Firefox中,出于安全和性能考虑,已经逐渐被弃用。开发者更倾向于使用`window.open()`配合`display: none`的CSS和JavaScript来模拟...
`window.showModalDialog` 在一些现代浏览器中已被废弃,例如Chrome在某些版本中默认禁用了该功能,而Firefox则建议使用其他方法。因此,在使用时需考虑兼容性问题,特别是对于移动设备和较新的浏览器版本。 8. **...
需要注意的是,`window.showModalDialog()` 是IE专有的API,在现代浏览器(如Chrome、Firefox等)中不支持。因此,在开发跨浏览器应用时,推荐使用更广泛的解决方案,如: - **HTML5 `<dialog>` 元素**: 提供了原生...
例如,它不支持CSS3、HTML5的新特性,而且在某些浏览器(如Chrome和Firefox)中默认被禁用或行为有所改变。因此,在开发过程中,更推荐使用`window.open`配合`display: none`的CSS来实现类似的效果,或者使用现代...
在其他浏览器中,如Firefox、Chrome和Safari,可能需要使用其他方法,如`window.open()`,配合CSS和JavaScript来实现类似的效果。 - 模态对话框可能会对用户体验造成影响,因为它会阻塞用户的交互,因此在现代Web...
- **浏览器兼容性问题**:`window.showModalDialog`是IE特有方法,对于其他浏览器如Chrome、Firefox等不支持此方法,因此在实际开发中需要注意兼容性处理。 - **安全性考虑**:使用`window.showModalDialog`时需要...
3> IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定才能生效;采用opener方式操作父窗口时都不需要...
需要注意的是,`showModalDialog()` 和 `showModelessDialog()` 主要是IE浏览器的特性,对于其他浏览器(如Firefox、Chrome)支持并不一致,因此在现代Web开发中,更倾向于使用HTML5的`<dialog>`元素或者第三方库...
它在最新的 Google Chrome 和最新的 Mozilla Firefox 中进行了测试,在about:config中将dom.dialog_element.enabled首选项设置为true 。 在使用showModalDialog函数之前,只需包含以下 HTML 代码: [removed]...
然而,需要注意的是,由于这些方法是IE特有的,它们在其他浏览器(如Firefox、Chrome、Safari、Opera等)中可能不被支持或行为不一致。因此,在现代Web开发中,开发者通常会使用CSS和JavaScript库(如jQuery UI、...
然而,Firefox、Safari和Chrome则逐渐停止支持,它们的行为更接近`window.open`,可能不会阻止父窗口的交互,且返回值可能无效。Opera同样不支持此方法,可能导致没有对话框弹出或任何反应。 由于这种不一致性,...
在Web开发中,`showModalDialog()`方法是一个用于打开模态对话框的JavaScript函数,它在Internet Explorer和Firefox等浏览器中被广泛支持。然而,谷歌的Chrome浏览器并不原生支持这个方法,导致开发者在实现跨浏览器...
尽管`showModalDialog`在某些场景下仍然有用,但由于它的兼容性和标准支持问题,现代Web开发更倾向于使用`modal`对话框(如Bootstrap的模态组件)或者JavaScript库(如jQuery UI的dialog)来替代。这些替代方案提供...
需要注意的是,由于`showModalDialog`在某些浏览器(尤其是现代的Chrome和Firefox)中被弃用,开发者应考虑使用其他替代方案,如Bootstrap的模态插件、自定义CSS和JavaScript实现的模态框,或者使用HTML5的`<dialog>...
在Firefox中,当使用`showModalDialog()`并且页面发生跳转时,`window.dialogArguments`对象会丢失,而在IE中则不会。这是因为Firefox的实现与IE有所不同。有两种解决方案: a. 将弹出的页面放入`frameset`或`...