electron Add dialog event to webContents

u59ebvdq  于 22天前  发布在  Electron
关注(0)|答案(3)|浏览(23)

预检清单

  • 我已阅读了此项目的 Contributing Guidelines
  • 我同意遵循此项目遵循的 Code of Conduct
  • 我在问题跟踪器中搜索了一个与我想提交的功能请求相匹配的问题,但没有成功。

问题描述

Electron 在 alertconfirm 中使用原生对话框,这些对话框可能不符合应用程序主题,并完全忽略对 prompt 的任何调用。

建议的解决方案

应该在 webContents 中添加一个 dialog 事件,每当 window.alertwindow.confirmwindow.prompt 被调用时都会发出。这应该类似于 Chrome 应用程序中的 webview 标签发出的对话框事件(https://developer.chrome.com/apps/tags/webview#event-dialog)。
该事件将返回:

  • 被调用的函数名称
  • 要显示在对话框中的文本
  • 默认文本(仅适用于提示)
  • 一个可以调用以模拟用户接受请求的函数(它将接受一个表示用户响应的参数)
  • 一个可以调用以模拟用户取消对话框的函数。

除非调用 preventDefault,否则默认行为将保持不变。

考虑过的其他方案

我考虑过覆盖相关的问题函数,但更喜欢使用事件,这样更容易使用。

其他信息

无。

yrdbyhpb

yrdbyhpb1#

我对这个问题感到非常困惑。由于某种原因,提示丢失了,警报和确认功能也很奇怪。我读到过关于提示被阻塞的信息,但确认也是如此。
我通过新的无边框模态窗口实现了自己的对话,并使用异步消息进行通信。也许这可以成为解决这些对话的通用方法?创建onalert、onprompt、onconfirm事件?

相关问题