我们有一个大型企业应用程序,它使用window.showModalDialog来显示模态窗口。 我们在很多地方使用它们来显示对话框消息和子表单。现在我们想要支持所有的浏览器,因为在Chrome中,window.showModalDialog不显示模态对话框,我们正在考虑在内容上使用叠加div,然后使用更高的z-index显示带有div的顶部窗口。它工作得很漂亮,但以下是我们面临的一个大问题 - 1.大多数代码使用以下语法 -
var return = window.showModalDialog();
doSomethingWithReturnValue(return);
显示modalDialog的方法,现在代码不会执行并等待用户关闭窗口然后下一行代码doSomethingWithReturn()方法将执行,此代码用于代码中至少几个位置的代码。在javascript中有一种方法可以用以下内容替换window.showModalDialog() -
var return = showDialogWindow() // this will use overlays and div with higher index to // display the content
我们的问题是showDialogWindow()将立即返回并且所有代码都将执行而无需等待用户关闭窗口。替代方案是使用回调,但结果将是更改整个代码和更多测试以及更多错误的潜在可能性。
有没有设计showDialogWindow()的方式,只要用户没有关闭顶部div,showDialogWidnow就会等待。
谢谢, 如果您还有其他问题,请告诉我们。