Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Firefox要求保存密码,即使登录组件从页面中删除_Angular_Firefox_Login_Plunker - Fatal编程技术网

Angular Firefox要求保存密码,即使登录组件从页面中删除

Angular Firefox要求保存密码,即使登录组件从页面中删除,angular,firefox,login,plunker,Angular,Firefox,Login,Plunker,若我们在应用程序中创建了带有登录和密码字段的组件,那个么在我们通过路由器导航到其他组件之后,Firefox会要求保存密码。回答“否”没有帮助,因为当我们在页面之间导航时,通知会一次又一次出现 但若我们并没有创建带有登录和密码字段的组件(并没有使用该组件打开url),那个么导航不会调用通知 看起来,带有登录名和密码的表单出现在DOM中,同时消失,所以Firefox认为我们已经成功登录 但这毫无意义,因为在我们离开带有输入的页面后,组件就被销毁了 Chrome没有这样的问题,所以不清楚它是Angul

若我们在应用程序中创建了带有登录和密码字段的组件,那个么在我们通过路由器导航到其他组件之后,Firefox会要求保存密码。回答“否”没有帮助,因为当我们在页面之间导航时,通知会一次又一次出现

但若我们并没有创建带有登录和密码字段的组件(并没有使用该组件打开url),那个么导航不会调用通知

看起来,带有登录名和密码的表单出现在DOM中,同时消失,所以Firefox认为我们已经成功登录

但这毫无意义,因为在我们离开带有输入的页面后,组件就被销毁了

Chrome没有这样的问题,所以不清楚它是Angular bug还是Firefox bug

预期的行为是Firefox应该只询问保存密码一次,而不是页面之间的每次导航

带演示的Plunker

  • 导航到第1页
  • 然后导航到密码
  • 然后再导航到第1页。将显示通知
  • 回答“否”,然后导航到第2页。通知将再次出现
  • 之后,请尝试相同的示例,但不要创建带有登录名和密码的表单

  • 重新加载plunker(可能需要重新加载所有页面)
  • 导航到第1页
  • 导航到第2页
  • 在导航到密码页面之前,不会显示通知
  • 有人遇到过这种行为并知道如何解决吗?通知很烦人

    UPD 2018年4月18日:之前我们注意到,问题只出现在JIT编译中。对于生产和AOT构建,一切正常-没有显示密码保存建议的提示。所以在某个地方出现了问题,但这只会让开发人员感到恼火

    几天前,我们将Angular升级到5.2.10版,将NodeJS升级到8.11.1版(之前我们使用了7.10)。之后,问题也出现在生产模式中


    仍然没有解决办法或明确原因。

    我不知道这是否有用。当我的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应用程序,我们也遇到了同样的问题