您现在的位置是:百科 >>正文
网页填写内容记忆功能
百科674人已围观
简介浏览器里那个自动填充的小弹窗,每次弹出来我都想关掉。但每次关掉之后,下次填表它还是准时出现。这玩意儿到底是怎么记住我名字、电话、甚至身份证号的? 说穿了不复杂。你第一次在某个网页的表单里敲下“张伟”两 ...
浏览器里那个自动填充的网页小弹窗,每次弹出来我都想关掉。填写但每次关掉之后,内容下次填表它还是记忆准时出现。这玩意儿到底是网页怎么记住我名字、电话、填写甚至身份证号的内容?
说穿了不复杂。你第一次在某个网页的记忆表单里敲下“张伟”两个字,浏览器就悄悄记了一笔。网页它记的填写不只是内容,还包括那个输入框的内容name属性、id、记忆label文字,网页甚至是填写页面结构。下次再遇到长得差不多的内容表单,它就把“张伟”塞回去。
我试过一个实验。在本地写了个极简的HTML页面,只有一个输入框,name="username"。提交一次后,Chrome立刻记住了。第二天我改了name为user_name,它就不认了。但把label写成“用户名”,它又认出来了。这说明浏览器不只看name,它还在猜语义。
真正干活的是启发式匹配
不同浏览器的策略不一样。Firefox早些年靠autocomplete属性,你写autocomplete="off"它还真听话。Chrome从某个版本开始就不太理这个属性了,尤其是登录表单。它的逻辑是:只要检测到密码框,就默认你要保存凭据。你点“从不保存”,它下次换个域名还是弹。
有个做前端的朋友跟我吐槽,他们公司的报销系统每次都要手动选部门。我让他把部门输入框的name从dept改成department,再加一个autocomplete="section-red dept"。改完第二天,Chrome就记住了。他问我原理,我说浏览器在训练自己的小模型,你给的信号越明确,它学得越快。
记忆的边界在哪里
信用卡号是个敏感例子。Safari会弹窗问你要不要存卡号,但存了之后只显示后四位。Chrome更激进,直接存完整卡号,但要求你输入系统密码才能调用。我见过有人把卡号存在浏览器里,结果同事借用电脑时点了一下自动填充,卡号就暴露了。这不是浏览器的错,是人的问题。
地址栏的自动填充又是另一套逻辑。它和表单填充共享数据,但触发条件不同。你打“北”字,它可能跳出“北京市朝阳区某小区”。这个数据来自你之前填过的地址表单,也可能是你手动在设置里添加的。我建议定期去chrome://settings/addresses或者Firefox的about:preferences#privacy里看一眼,经常能发现几年前填错的手机号还躺在那里。
开发者能做什么
如果你不想让浏览器记住某个字段,别只写autocomplete="off"。更可靠的做法是:把输入框的name设成随机字符串,每次页面加载都变。或者用autocomplete="new-password"骗过密码管理器。但说实话,这些招数都在和浏览器斗智斗勇,今天有效明天可能就失效。
反过来,如果你想让它记住,就老老实实按规范来。autocomplete="given-name"、autocomplete="tel"、autocomplete="email",这些标准值浏览器都认。我见过一个注册页面把邮箱框写成autocomplete="off",结果用户每次都要手动敲一遍,投诉率飙升。后来改成autocomplete="email",投诉没了。
说到底,这个功能就是个双刃剑。方便是真方便,我填快递地址时能省三十秒。但隐私风险也真实存在,尤其是共用电脑的场景。我的习惯是:个人电脑上开着,公共电脑上用完就清。至于那些死活记不住的网站,多半是开发者没按规矩写name属性。怪不了浏览器。
Tags:
相关文章
稀奇古怪网站知乎
百科知乎上有个问题叫“你见过哪些稀奇古怪的网站”,我蹲了大半夜,收藏了二十多个。有些网站打开那一刻,你会怀疑自己是不是误入了什么平行宇宙的垃圾场。但偏偏,这些垃圾场里偶尔能翻出点金子。 比如那个叫“上下颠 ...
【百科】
阅读更多企业网站SEO推广
百科企业网站的SEO推广,说白了就是跟搜索引擎搞好关系,让它把你的网站当成“自己人”。我见过太多老板花大价钱建了官网,结果一年下来后台访问量还是个位数。问题不在网站本身,而是根本没做SEO。 拿一个真实的 ...
【百科】
阅读更多为什么手机能登陆的网站电脑登陆不了
百科我上个月帮朋友修电脑,他死活打不开某个银行网站,手机却秒开。他骂网站垃圾,我一看,问题不在网站,在他那台老掉牙的Windows 7。 这事太典型了。手机能上的网站,电脑登不了,八成不是玄学,是技术代沟 ...
【百科】
阅读更多