window.showModalDialog()方法在Chrome下不能使用的解决方法

来源:互联网 发布:80端口为什么要备案 编辑:程序博客网 时间:2024/05/16 08:09
1、用window.open()替代其弹出窗口


2、用 getBrowserType() 判断当前浏览器是什么浏览器,并作出相应处理。


function getBrowserType() {


   var ua = navigator.userAgent.toLowerCase();


  if(ua.match(/msie ([\d.]+)/))return 1;


  if(ua.match(/firefox\/([\d.]+)/))return 2;


  if(ua.match(/chrome\/([\\d.]+)/))return 3;


  if(ua.match(/opera.([\d.]+)/))return 4;


  if(ua.match(/version\\/([\d.]+).*safari/))return 5;


  return 0;


}


3、IE用window.returnValue 向父窗口传递参数;


Chrome用window.opener.returnValue向父窗口传递参数,并且调用 window.opener.document.all.btnGetList.click();局部舒心父窗口。


4、在父窗口定义一个控件<input type="hidden" id="btnGetList" onclick="<%=PostBack()%>" />


5、在父窗口的后台定义PostBack()方法


      protected string PostBack()    


{        


return this.Page.GetPostBackEventReference(this.hidAdd, "getList");    





hidAdd触发下面事件


    protected void btnAdd_Click(object sender, EventArgs e)    


{      


 this.GetList();  


}
原创粉丝点击