如何在cef中方实现网页文本输入框的历史记录下列表提示功能,微信suniums,
14条回答 默认 最新
- 开发技术控 2023-06-14 09:37关注
获得1.20元问题酬金 有帮助的话 采纳一下呦
在 CEF 中实现网页文本输入框的历史记录下拉列表提示功能,可以采取以下步骤:
在 C++ 代码中创建一个 CefListValue 对象,用于存储历史记录条目。CefRefPtr<CefListValue> history_list = CefListValue::Create();
在用户输入时,使用 JavaScript 代码获取输入框的值,并将其添加到 C++ 中的 CefListValue 对象中。
jslet input = document.querySelector('#input'); input.addEventListener('input', function() { window.historyList.AddString(input.value); });
// C++ 代码中与 JavaScript 交互的函数 void ClientHandler::AddStringToHistory(const CefString& input) { history_list->AddString(input); }
读取 CefListValue 中的条目,并使用 JavaScript 在输入框下方展示下拉列表。
let list = ''; let count = window.historyList.GetSize(); for (let i = 0; i < count; i++) { list += `<option>${window.historyList.GetString(i)}</option>`; } document.querySelector('#history-list').innerHTML = list;
// C++ 代码中与 JavaScript 交互的函数 void ClientHandler::GetHistoryList(CefRefPtr<CefListValue> list, CefRefPtr<CefValue> object) { *object = list; }
为下拉列表绑定选择事件,当用户选择某条历史记录时,将输入框的值设置为该条历史记录。
document.querySelector('#history-list').addEventListener('change', function() { let value = this.value; document.querySelector('#input').value = value; });
解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
- ¥15 PPOCRLabel
- ¥15 网友们我该怎么办啊,急
- ¥15 混合键合键合机对准标识
- ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
- ¥15 目标跟踪,计算机视觉
- ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
- ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
- ¥200 C++表格文件处理-悬赏
- ¥15 Windows Server2016本地登录失败