预检清单
- 我已经阅读了这个项目的 Contributing Guidelines。
- 我同意遵循这个项目遵循的 Code of Conduct。
- 我在 issue tracker 中搜索了一个与我想要提交的 bug 报告相匹配的 bug,但没有成功。
Electron 版本
29.1.4
您正在使用的操作系统是什么?
Windows
操作系统版本
版本:Windows 10 Home | 版本:22H2 | OS 构建:19045.4170 | 体验:Windows Feature Experience Pack 1000.19054.1000.0
您正在使用的架构是什么?
x64
最后已知正常工作的 Electron 版本
- 无响应*
预期行为
使用弹出窗口(警告或确认),然后尝试聚焦输入元素不应引起问题。
实际行为
当应用程序启动时,与输入元素交互没有任何问题。
在点击 confirm
或 alert
上的弹出窗口后,尝试聚焦刚刚导致弹出窗口的窗口(即输入元素)将不再起作用。
将焦点放在另一个窗口上,然后重新聚焦窗口可以修复该问题。
测试用例 Gist URL
https://gist.github.com/LqdBcnAtWork/9af23d4faa33e74874cd08ffbc8e4ed6
其他信息
我已经注意到这个问题有一段时间了,但没有发现这个问题是由弹出窗口引起的。我以为这是随机发生的,是由我在自己这边引起的一些奇怪的焦点交互引起的。诊断出问题的原因后,创建一个可以复现它的 Fiddle 只用了几分钟。
我提到这一点是因为这意味着这个问题已经存在于 Electron 的许多主要版本中。我不知道它存在多久了,但至少可以追溯到版本 21。我尝试了 12.2.3 以供娱乐,并在 Fiddle 中进行了测试,问题仍然存在。
我认为这是由于弹出窗口获得焦点,但窗口无法识别 返回 焦点时弹出窗口已关闭。我还认为这个问题可能是由 Chromium 引起的。但我不确定,因为 Chrome 或 Edge(我唯一可用的其他 Chromium 应用程序)不使用 alert
和 confirm
中的相同类型的弹出窗口,也不显示此问题。
9条答案
按热度按时间jecbmhm31#
这是主要的代码:
xmq68pz92#
我可以在Ubuntu上确认这一点,但是我无法确认这个说法是否一直如此。对我来说,Fiddle在我使用
v28.2.7
时运行得非常好,但从v29.0.0-alpha.1
开始就出现了问题。v27.3.6
和v26.6.10
对我来说也是可以正常工作的。gpnt7bae3#
我可以在Ubuntu上确认这一点,但是我不能确认这个说法一直都是这样的。对我来说,Fiddle在我使用
v28.2.7
时运行得非常好,但从v29.0.0-alpha.1
开始就出现了问题。v27.3.6
和v26.6.10
对我来说也是可以正常工作的。如果Windows因为Electron而改变了一些东西导致出现问题,我也不会感到惊讶。
@Maniiisha-sachdeva,你是在暗示在弹出窗口后调用
window.focus();
可以修复这个焦点问题吗?我得等到星期一才能尝试一下。
b4qexyjb4#
我尝试在输入元素上调用
window.focus
和.focus
,但都没有解决焦点问题。我也尝试了以下版本:
(只是
alert
/confirm
的 bug,而不是focus
函数)鉴于
v28
、v27
和v26
对于我来说都失败了,但对于 @Prinzhorn 没有问题,我认为这主要是 Windows 的问题。不幸的是,我无法测试其他版本的 Windows。但是,我觉得很奇怪,它在使用v29
的 Ubuntu 上停止工作。无论如何,这让人放心,因为不仅仅是我和我的代码有问题。我现在必须先实施一个临时解决方案。
编辑:为了更清晰地表达,我更改了表情符号。
yzckvree5#
当我将输入类型更改为数字时,我可以通过上下箭头更改数字,但无法在其中输入。当我切换标签时,它开始工作。我可以进一步处理吗?
scyqe7ek6#
这个问题已经被自动标记为过时。如果这个问题仍然影响到你,请留下任何评论(例如“提升”),我们会保持开放。如果你有任何新的附加信息——特别是,如果这个问题在 latest version of Electron 或 beta 中仍然可复现——请在你的评论中包含它!
nkkqxpd97#
尝试了31.0.1和32.0.0-alpha.2版本的fiddle,对我来说仍然无法正常工作。
9udxz4iz8#
重复了,对吧? $x_{1}e^{0f_1}$
8oomwypt9#
这个的副本,对吧? #31917
嗯,之前没找到过。它也是3年前的。
很可爱。