我试图找出:浏览器如何识别不同站点的登录表单?
无论我是否正在访问我的GMail帐户或某个个人项目,IE/Firefox总是知道该页面包含登录信息.
他们是否只是简单地搜索输入类型=密码或是否涉及一些cookie信息?
先感谢您.
菲利佩
我使用Angular 表单在我的前端进行注册和登录。这是一个经典的设置,其中离开表单的 POST 请求被发送到后端 API。
POST 请求是从submit我(ngSubmit)=onSubmit()在form元素上注册的函数发送的。
我希望密码管理器可以玩这个:在用户创建时保存登录名/密码,登录时自动填充,密码更改时更新。
一切都可以与 Dashlane 配合使用。但是我最近尝试了 Lastpass,但它没有捕捉到请求。我在这个帮助页面上看到他们推荐使用裸表单。这对我来说不是一个选择,因为我想要一个更好的用户体验。
我的典型形式是:
<form [formGroup]="signupFormModel" (ngSubmit)="onSubmit()"...>
<input matInput
placeholder="Email"
formControlName="email"
type="email"
name="email"
autocomplete="username"
autofill>
<input matInput
placeholder="Password"
[type]="hide_password ? 'password' : 'text'"
formControlName="password"
autocomplete="new-password"
name="new-password"
autofill>
<input matInput
placeholder="Confirm password"
[type]="hide_password ? 'password' : 'text'"
formControlName="password_confirmation"
autocomplete="new-password"
name="new-password-confirmation"
autofill>
<input mat-raised-button
type="submit"
value="Sign up">
</form>
Run Code Online (Sandbox Code Playgroud)
所以你看我已经使用了autocomplete属性和正确的type& name。
我的猜测是 Lastpass 不会拦截 Submit 事件之外的请求。但这不是 Angular 表单的工作方式。(但 Dashlane …