gpt4 book ai didi

javascript - 删除 showModalDialog API

转载 作者:搜寻专家 更新时间:2023-11-01 04:31:38 26 4
gpt4 key购买 nike

随着即将从各种浏览器中删除 showModalDialog API,我们公司与许多提供大型企业 Web 应用程序 的公司一样,现在面临着一个重大的困境。

虽然我们将对 showModalDialog 的调用集中到 3 行代码,但我们广泛依赖此代码来提供模态用户提示的反馈(快速搜索该解决方案会发现大约 2400 个实例) .

我们可以相当轻松地删除 showModalDialog 并将其替换为基于 Javascript/css 的替代方案,这不是问题。我们面临的问题是所有调用代码将不再阻塞,例如

if(doConfirm(...)) {
...
} else {
...
}

由于引入了非阻塞替代方案,上述内容将完全失败。我们也不能使用内置的阻止方法(警告、确认),因为在许多情况下对话框按钮是自定义的,并且样式也适合我们的应用程序。

基于以上所述,是否有任何实用的变通方法/解决方案可以用来避免不得不重构这么多以前阻塞的遗留代码?

最佳答案

您可以通过使用我的 showModalDialog polyfill 来避免使用回调函数,它会暂停后续语句的执行,直到模式关闭。它通过使用生成器、 promise 和 yield 关键字来实现。它适用于最新的 Opera 和 Google Chrome。

关于javascript - 删除 showModalDialog API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24693756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com