javascript - Firefox 不断提示在单页应用程序上保存密码

标签 javascript firefox pushstate

我有一个单页应用程序,它不基于除 jquery 之外的任何库。

应用程序使用

window.history.pushState()

命令使每个页面更改看起来像一个页面更改,而实际上 SPA 正在做 SPA 所做的事情并停留在同一页面上,只有需要更改的页面位实际发生了更改。

登录框本身包含一个

<input type="password" /> 

在我们访问服务器进行登录之前,使用 $(element).remove() 销毁该元素的父元素。 (编辑:用户名和密码框不包含在表单中,我们不使用提交,登录是通过 jquery ajax get 完成的)

仍然在每次调用 pushState 时,firefox 询问我们是否要保存密码。 Edge、chrome 和 IE 不这样做,只有 firefox。

有什么想法可以改变我的应用程序来阻止这种情况的发生吗?

我绝对不是在寻找要更改的浏览器选项 - 它必须是应用程序中的更改 - 我不能要求我们用户群中的每个用户都以某种方式设置他们的浏览器。它在所有 PC 上都是相同的问题,并且发生在已部署服务器上的标准 IIS 上,也发生在 VS Debug模式下的 IIS express 上。谢谢

最佳答案

我不知道这是否会解决您的问题,而不是避免它,以及其他 SPA 相关问题,但我建议改用 URL 模式来跟踪您的位置,然后是您的后退按钮,并刷新工作,例如他们应该。

基本上让每个主要步骤或页面都有自己的 URL,您只需阅读它并采取行动,然后让它导航到该 URL,而不是进行动态更改。在 Angular 这样的框架中,它被称为路由。

一个例子,为了制作一个向导页面,他们在第一页上选择了一个类别,该类别转到编号 2。我没有只更新 SPA 上的变量,而是导航到 http://myapp/2。 ..... 当发生这种情况时,它会转到同一页面,但我阅读了 URL 并知道第一个参数是类别。现在,刷新和返回都有效,我不必推送我的页面状态。

关于javascript - Firefox 不断提示在单页应用程序上保存密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50952546/

相关文章:

javascript - 在动态创建的 HTML 表中搜索复选框

javascript - ajax 不能与 django 一起使用

javascript - JS函数不在表单内部调用

javascript - 无法禁用 firefox 中的所有断点

html - 哪些浏览器支持 HTML5 History API?

javascript - 为 HTTP 响应在 Node.JS 中迭代对象

javascript - Firefox 中的 "localStorage"是否仅在页面在线时有效?

firefox - 是否可以将 Firefox 插件从 XPI 解码为 XUL?

javascript - 更改自动滚动的 URL(pushstate?)

javascript - PushState 不起作用