【发布时间】:2019-06-20 07:21:22
【问题描述】:
我正在编写一个浏览器应用程序,它在同一个域下有多个登录表单,但路径不同。
domain.tld/foo/login
domain.tld/bar/login
domain.tld/bar/boo/login
目前所有表单元素看起来都一样,没有属性,只有一个简单的密码输入,所有路径的名称都相同,还有一个提交按钮,我附加了一个提交监听器。调用侦听器时会获取输入的密码,并阻止默认提交行为。然后通过后台的 AJAX 请求进行实际登录。
HTML:
<form method="dialog">
<input name="password" type="password">
<button type="submit">Login</button>
</form>
Javascript:
form.addEventListener('submit', e => {
login(); // Do the ajax login request
e.preventDefault();
return false;
});
所有经过测试的浏览器(FF、FFM、C、CM、O、OM)都允许保存密码,这很好。遗憾的是,密码是按子域而不是按路径保存的,导致同一域下以前访问过的路径的密码被覆盖。
告诉浏览器分别保存每个 URL 路径的密码的最佳方法是什么?
【问题讨论】:
标签: javascript html path passwords password-storage