Home > Article > Web Front-end > Solution to the incompatibility of the Google showModalDialog() method when the dialog window appears_javascript skills
showModalDialog, in the test, runs normally in IE and Firefox, but in Google, there is no response after clicking. I looked online and found that Google Chrome does not support the showModalDialog modal dialog box and cannot return returnValue. I got a Solution
<script type="text/javascript"> //开启模式窗口 function showMyModal() { var url = "SelectUser.aspx"; //传入参数示例 var modalReturnValue = myShowModalDialog(url, window, 300, 500); //alert(modalReturnValue.name); //窗口关闭后执行某些方法 //TODO sth } //弹出框google Chrome执行的是open function myShowModalDialog(url, args, width, height) { var tempReturnValue; if (navigator.userAgent.indexOf("Chrome") > 0) { var paramsChrome = 'height=' + height + ', width=' + width + ', top=' + (((window.screen.height - height) / 2) - 50) + ',left=' + ((window.screen.width - width) / 2) + ',toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'; window.open(url, "newwindow", paramsChrome); } else { var params = 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;status:no;dialogLeft:' + ((window.screen.width - width) / 2) + 'px;dialogTop:' + (((window.screen.height - height) / 2) - 50) + 'px;'; tempReturnValue = window.showModalDialog(url, args, params); } return tempReturnValue; } </script>
Finally, if you want to click, a dialog box will appear. Just use the onclick event to call the method
The above introduces to you the analysis and solutions to the problem of incompatible dialog windows appearing in Google's showModalDialog() method. I hope it will be helpful to everyone.