浏览器兼容:改写window.showModalDialog

以前很多网页都使用如下脚本来打开对话框,这脚本只能在IE下使用,对于某些浏览器来说完全不兼容。
var returnValue = window.showModalDialog(url,'',features);

最近在浏览器兼容的工作,必须把这些不兼容的问题一一解决掉。针对此问题,修改如下:

1、在父窗体的脚本:
 var winNew=null;

 function openNewWin(url) {
    if(winNew && winNew.open && !winNew.closed){
       winNew.focus();
       return false;
    }
    var myDate = new Date();
    var intWidth = 670;
    var intHeight = 500;
    var intX = (screen.availWidth - intWidth) / 2;
    var intY = (screen.availHeight - intHeight) / 2;

    var strFeatures = 'resizable=no,status=no,scrollbars=yes,model=yes,width=' + intWidth + ',height=' + intHeight + ',left=' + intX + ',top=' + intY;
   
winNew = window.open(url, 'newWin', strFeatures);
   
winNew.focus();
}
2、在弹出窗体的脚本:
   var winParent = window.opener;
   winParent.winNew = window;

  
   //如果要改变父窗体的元素值,可以通过如下脚本实现
   var winP = window.winParent.document;
   winP.getElementById('元素id').value = '.....';

posted @ 2013-06-13 15:50  linyujade  阅读(508)  评论(0编辑  收藏  举报