新版本火狐 ,Chrome不支持showModalDialog解决办法

时间:2022-02-20 19:57:33

  平常的网站中,有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,在IE中,我们可以使用showModalDialog来达成,但是chrome早就不支持showModalDialog,最近我的火狐也不支持了,所以就去网上找了下解决办法,与大家共享:

  原来代码是这样:

function showDialog(url, w, h){
showModalDialog(url, self, 'dialogWidth='+w+'px;dialogHeight='+h+'px');
}

  然后为了兼容新版本火狐和chrome,改为:

function showDialog(url, w, h){
//新版本火狐谷歌不支持showModalDialog
//showModalDialog(url, self, 'dialogWidth='+w+'px;dialogHeight='+h+'px');
window.open(url, self, 'modal=yes,Width='+w+'px,Height='+h+'px');
}

  即:我们改用window.open()方法来实现这个功能,但是这个方法与showModalDialog()还是有一点小区别的,

  范例如下:

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