Angular Firefox要求保存密码,即使登录组件从页面中删除
若我们在应用程序中创建了带有登录和密码字段的组件,那个么在我们通过路由器导航到其他组件之后,Firefox会要求保存密码。回答“否”没有帮助,因为当我们在页面之间导航时,通知会一次又一次出现 但若我们并没有创建带有登录和密码字段的组件(并没有使用该组件打开url),那个么导航不会调用通知 看起来,带有登录名和密码的表单出现在DOM中,同时消失,所以Firefox认为我们已经成功登录 但这毫无意义,因为在我们离开带有输入的页面后,组件就被销毁了 Chrome没有这样的问题,所以不清楚它是Angular bug还是Firefox bug 预期的行为是Firefox应该只询问保存密码一次,而不是页面之间的每次导航 带演示的PlunkerAngular Firefox要求保存密码,即使登录组件从页面中删除,angular,firefox,login,plunker,Angular,Firefox,Login,Plunker,若我们在应用程序中创建了带有登录和密码字段的组件,那个么在我们通过路由器导航到其他组件之后,Firefox会要求保存密码。回答“否”没有帮助,因为当我们在页面之间导航时,通知会一次又一次出现 但若我们并没有创建带有登录和密码字段的组件(并没有使用该组件打开url),那个么导航不会调用通知 看起来,带有登录名和密码的表单出现在DOM中,同时消失,所以Firefox认为我们已经成功登录 但这毫无意义,因为在我们离开带有输入的页面后,组件就被销毁了 Chrome没有这样的问题,所以不清楚它是Angul
仍然没有解决办法或明确原因。我不知道这是否有用。当我的password元素没有包含在
元素中时,我在使用Vue.js时注意到了这个问题。为了补救,我用
元素包围了登录字段,我在该元素上为submit
事件设置了preventDefault
指令。在Vue.js中看起来是这样的:
<form v-on:submit.prevent>
Username: <input v-model="username" />
Password: <input type="password" v-model="password" />
</form>
用户名:
密码:
我应该提到的是,在提交表单时,您仍然会被要求保存密码,但随后的导航不再发出提示。我在React中遇到了同样的问题 原因是我的登录表单不是
,而是一个简单的
。
我将其设置回
,Firefox停止要求保存每次异步调用的凭据
不过我不知道确切的原因,Chrome一直都很好是的,这很管用。将字段包装到
表单中
标记是一个非常好且简单的想法。我以前没试过这个
Firefox这样做似乎是站得住脚的。输入实际上应该总是在表单中,因为在常规应用程序中,没有表单就不可能发送数据。在表单
中放置输入也解决了在Chrome中自动检查自动填写表单的问题。
因此,以下标准是避免意外错误的最佳方法。您找到解决方案了吗?对于非角度SPA应用程序,我们也遇到了同样的问题