首页 / 科技数码 / 正文

chrome浏览器自动填充账号信息,前端获取不到填充的时机?

一. 问题描述:以chrome浏览器为例,用户可以通过设置,存储当前页面账号的登录信息,以便再次访问时避免手动输入用户名和密码。但最近在开发过程中发现,浏览器自动填充账号密码后,并没有触发前端代码中的onchang事件,需要 手动点击页面中任意的一个地方 ,onchange事件才会执行,才能取到浏览器自动填充的账号和密码相应的值。这就导致在首次加载完成后,如果用户和页面并没有发生任何交互时(点击,滚动不算),登陆框中虽然有用户名和密码,但登陆按钮是置灰不能点击的。

二. 问题排查过程。在开发时,首先尝试在useEffect、useLayoutEffect、window.onload等钩子或事件中获取填充后的值;然后又尝试在事件中去添加setTimeout;最后,在onload结束中,尝试在代码里模拟鼠标触发一次点击事件,结果。

三. 解决方案。在找到了最关键的那段代码后:垂死病中惊坐起!

如有侵权请及时联系我们处理,转载请注明出处来自