如何限制浏览器自动补全仅作用于当前域名?
解决搜索输入框跨站自动补全干扰的方案
要让浏览器把搜索输入框的自动补全限制在当前网站内,除了修改name属性,还有更灵活的方法,核心是利用HTML的autocomplete属性来隔离记录:
设置自定义唯一的
autocomplete值(推荐)
给输入框指定一个仅你的应用使用的标识,比如:<input type="search" placeholder="search" name="q" autocomplete="my-app-search">浏览器会将这个输入框的历史记录与
my-app-search绑定,只有当前网站内使用相同autocomplete值的输入框才会共享记录,彻底避开其他网站(如GitHub)的name="q"输入框干扰。配合表单标签强化隔离
用<form>包裹输入框并设置唯一的name或id,浏览器会把表单内的输入记录与该表单绑定,进一步降低跨站混淆的可能:<form name="my-app-search-form"> <input type="search" placeholder="search" name="q" autocomplete="my-app-search"> </form>修改
name属性(可靠但不够灵活)
如果你愿意调整name值,把name="q"改成name="my-app-search-q"这类唯一名称,浏览器会直接区分不同name的输入框,不会跨站共享自动补全记录,这也是最直接的隔离方式。
内容的提问来源于stack exchange,提问作者dwjohnston
相关产品推荐
相关产品推荐

