English 中文(简体)
为什么Firefox 自动完成, 即使输入名称不同?
原标题:Why Firefox autocomplete even with different input name?

或者Firefox如何确定密码/用户名去向?

如果我更改了输入元素的名称、 ID、 标题、 输入元素的类别 Firefox 总是用密码或电子邮件填入它 。

最佳回答

如果我正确理解 Firefox s 源代码, 浏览器首先会查找表格中的密码字段。 如果窗体含有3个以上的密码字段, 自动填充功能会忽略该窗体 。

找到 1 到 3 个密码字段后, 浏览器会查找登录字段。 浏览器会从第一个密码字段开始进行后向搜索, 并假设登录字段是第一个找到的域, 其类型为 < code> text 或 < code> email 或 < code> > / code > 或 < code> tel 或 < code > 或 < code > 编号

Next step depends if we check the forms on page load or when submitting the form. If we check during page load and there is a login field and exactly ONE password field, the case is simple and the browser can fill out the form.

其它案例( 窗体提交或超过 1 个密码字段) 使用某种“ 智能” 逻辑来确定哪些密码字段包含新的密码, 哪个是旧密码, 可能更新存储的密码 。 如果您对细节感兴趣, 下载源代码/ 源代码/ 组件/ 密码/ 密码/ 密码管理器/ ns LoginManager. js 文件。 检查的功能是 < code\\ floorm 、 < code\ getForm Forms 和 < code\ getPassword Forms

简而言之, Firefox 不需要任何 ID、 名称或类属性来猜测哪个字段是登录或密码。 它只依赖于格式字段的类型和顺序 。

问题回答

我尝试了一个目前有效的简单解决方案。 创建两个隐藏字段, 浏览器将自动填充这些字段 。

<input type="text" style="display: none">
<input type="password" style="display: none">

似乎在登录和密码输入之间使用一个禁用的输入文本能很好地解决问题 :

<input type="text" disabled="disabled" style="display:none">

这些元素是表单上唯一的两个元素吗? Firefox 很可能存储表单的结构( 两个输入框, 一个标为正常, 一个标为密码), 并填充所保存的信息而不考虑输入元素的标识 。

尝试此选项: 在窗体中添加一个额外的输入元素, 并查看会发生什么。 要么 Firefox 将不填写任何东西, 要么在第一个字段和填入的密码字段中找到您的姓名, 而第二个输入元素是空白的 。





相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签