关于浏览器自动填充功能的快速问题。我经常被我构建的网站所困扰,浏览器试图在前端自动填充与后端相同的凭据(/admin
/)。
我很好奇是否有人有这方面的经验,是否可以用HTML(5 / Meta?)明白地完成。
我想知道我是否可以告诉浏览器在其本地自动填充列表中单独注册一个子路径(http://www.domain.com/admin)。
答案 0 :(得分:5)
没有标准化的方式来告诉浏览器“认为这是一个不同的网站”,除了实际使它成为一个不同的网站(例如放置管理界面UI)子域名 - admin.domain.com
)。
唯一的方法是使用autocomplete="off"
标记<input>
HTML属性来禁用默认浏览器自动完成功能(您只能在admin子目录中禁用它):
<input type="text" name="field" autocomplete="off" />
可接受的解决方案是使用某种类型的 javascript自动填充程序。然后,您可以使用Cookie在客户端中将历史记录存储在本地。使用例如带有本地存储的jquery自动完成程序非常简单 - 请看这里:
Autocomplete (jQuery UI) and localstorage
然后,您当然可以完全控制存储的完成方式。
如果您真的不希望用户自动填写表单,您应该知道,虽然主要是browser will respect autocomplete=off
,但用户fight against it for several reasons;他们使用的插件在这种情况下仍会自动完成(例如autocomplete on for FF或Chrome)。在这种情况下,用户总是获胜,客户端可以根据需要修改HTML。鲁莽自动完成中有security risks involved,因此您可以尝试说服用户对他们不利。
您还可以在此处找到一些有用的评论:How do you disable browser Autocomplete on web form field / input tag?