javascript - 您在特定表格中输入的内容不会被保留
问题描述
例如,您在 Stackoverflow.com 的搜索引擎上键入的内容会被保留。
https://stackoverflow.com/questions/tagged/javascript
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.shiftKey && e.key == 'F') { // F = 70
let target = document.querySelector("#search > div > input");
target.value = 'America';
target.focus();
}
});
但是,似乎并非所有文本区域和表单都被保留。
例如,在另一个问答网站的搜索引擎中:
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.shiftKey && e.key == 'F') { // F = 70
let target = document.querySelector(".SearchBox_searchBox__inputBoxInput__nf3fq");
target.value = 'America';
target.focus();
}
});
https://chiebukuro.yahoo.co.jp/search?p=&fr=common-navi
在某些网站上,输入后,如果space
最后没有输入密钥等,输入的字符将被删除。
在某些网站上,如果ENTER
输入后按 键搜索,输入的字符可能会被删除。
我想知道原因,当它被删除时。
原因是什么?
有解决办法吗?
解决方案
我认为您指的是 HTMLautocomplete
属性,它可以让网站告诉浏览器是否提供自动完成功能(这可能是您所指的“保留搜索”)。
HTML 自动完成属性可用于将文本或数值作为输入的元素、元素、元素和元素。自动完成功能允许 Web 开发人员指定用户代理在填写表单字段值时必须提供的自动协助,以及对浏览器关于字段中预期信息类型的指导。
当您将其设置为时off
,例如。<input autocomplete="off" />
...
不允许浏览器自动输入或选择该字段的值。
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
如果您查看https://chiebukuro.yahoo.co.jp/search?p=&fr=common-navi上的搜索输入,您会看到:
<input type="text" name="p" placeholder="Q&Aを探す" autocorrect="off" autocomplete="off" autocapitalize="off" value="" data-sec="h_srch" data-slk="txt" class="SearchBox_searchBox__inputBoxInput__nf3fq">
注意autocomplete="off"
里面。
推荐阅读
- java - 在重复调用的方法中创建的对象会发生什么?
- java - 如何以编程方式安装Android系统应用程序
- r - R-通过添加NA或布尔标准绑定两个不同长度的不同数据帧
- typescript - 如何创建新的 TSDX 项目?
- c++ - 在linux中运行c++ opencv程序的问题:未声明函数
- web - 如何使用正则表达式检查 url 是否包含 WWW?
- php - PHP 7.4 session_start 和 setcookie(会话未启动且 cookie 未设置)
- kotlin - Kotlin - 从函数中提取价值
- javascript - 反应上下文值在子类组件中不可用
- node.js - 以角度提供打包 NPM 命令