我的扩展程序有一个包含项目的上下文菜单。我希望它做的是:当我右键单击一个editable
html 元素(例如 input 或 textarea),然后选择并单击菜单中的一个项目时 - 由我的扩展定义的一些值被输入到输入中。
现在我已经意识到,使用document.activeElement.value = myValue
.
通过简单的输入,它可以正常工作。
当有自定义onChange
事件处理的输入时出现问题,例如日历或电话输入,或货币输入 - 以某种方式转换用户输入。
由于我直接在元素上设置一个值 - 处理逻辑被省略,这会导致各种问题。
由于 javascript 不允许类似 KeySend 的功能 - 我在这里有什么选择?
我曾考虑过像 Puppeteer 或 Cypress 这样的测试工具 - 但它们似乎都不能打包到扩展中。Puppeteer 确实有这样的选项,但它仍然需要一个运行的节点实例来连接。而且我希望我的扩展程序完全位于客户端并分布在 Chrome 网上商店中 - 所以我不能要求我的用户运行启动节点服务器。