javascript - 登录表单不提供在 Chrome 上保存密码的功能

标签 javascript forms google-chrome reactjs

我有一个用 React 创建的登录表单。它使用 window.fetch (polyfill) 来处理请求,并使用 react-router 在登录后转到正确的页面。

问题是 Chrome 不提供保存用户名+密码的可能性,而 Firefox、Safari 和 IE 提供(可能 Opera 也是)。

我目前正在仅使用 http 针对本地主机对其进行测试,但我认为这不是问题所在。

代码如下:

doSignIn: function(evt) {
  evt.preventDefault();

  this.context.SignInAction.signIn(evt.target.action, {
    email: this.credentials.email,
    password: this.credentials.password
  })
  .then(() => {
    this.transitionTo('/');
  })
  .catch((err) => {
    this.setState({incorrectSignIn: true});
    React.findDOMNode(that.refs.email).focus();
  });
},

(渲染部分):

<form autoComplete='on' method='POST' action='/site/sign-in' onSubmit={this.doSignIn}>
  <ul className='signIn'>
    <li className={classesNotification}>Invalid e-mail or password</li>
    <li>
      <input
        ref='email'
        type='email'
        defaultValue={this.credentials.email}
        placeholder='your e-mail address'
        required
        autoFocus='true' />
    </li>
    <li>
      <input
        type='password'
        defaultValue={this.credentials.password}
        placeholder='password'
        required /></li>
    <li><button type='submit'>Sign in</button></li>
  </ul>
</form>

我找过类似的案例,但大多数都声称这是由 autocomplete=off 引起的。我的情况并非如此。

我还检查了问题:Using reactjs and javascript - Chrome does not offer to remember passwords , 但它没有帮助。

这是 Chrome 中的一个错误,还是我必须以某种方式“传播”我的请求作为一个正常的表单帖子,让 Chrome 了解我们实际上是在向服务器发送用户名+密码?

请注意,我已经在三台不同的计算机上尝试过此操作,一台是本地计算机,一台来自同一网络,一台来自虚拟机,还检查了我自己的 Chrome 自动完成首选项。从这个 Angular 来看,一切都很好。

最佳答案

老问题,但如果有人遇到同样的问题并且浏览器说证书无效,那么可能需要信任证书。

我遇到了这个问题,没有提示我为公司内部网站保存我的用户名/密码。然后我意识到浏览器显示网站证书无效。因为这是我可以信任的公司内部网站;我将证书导入 Keychain Access,将信任设置为 Allow Always,然后我又回来了!

Mac 上的 Chrome

关于javascript - 登录表单不提供在 Chrome 上保存密码的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338489/

相关文章:

html - 输入字段旁边两行的输入标签

php - Jquery 表单仅在您第一次提交时有效,而不是第二次

javascript - 将新对象添加到传入的 json 字符串

javascript - JQuery:动态表单不会提交

javascript - 为什么 &lt;script&gt; 标签在此 PHP 页面上不起作用?

javascript document.anchors.length 在 Firefox 中返回 1

java - localhost 在 Edge 中有效,但在 Chrome 中无效

javascript - Google的 "password reset"页面如何将div标签做成链接?

javascript - 如何设置我的目录以使用 eyeglass 获取 modularscale

javascript - 对 Angular 滚动div