showModalDialog läuft im Test normal in IE und Firefox, aber in Google gibt es nach dem Klicken keine Antwort. Ich habe online nachgesehen und festgestellt, dass Google Chrome das modale Dialogfeld showModalDialog nicht zurückgibt eine Lösung
<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>
Wenn Sie schließlich klicken möchten, wird ein Dialogfeld angezeigt. Verwenden Sie einfach das Ereignis onclick, um die Methode aufzurufen
Das Obige stellt Ihnen die Analyse und Lösungen für das Problem inkompatibler Dialogfenster vor, die in der showModalDialog()-Methode von Google erscheinen. Ich hoffe, dass es für alle hilfreich ist.