min*_*iml 9 javascript facebook google-chrome-extension reactjs
我正在开发Chrome扩展程序,允许用户在发送之前替换其Facebook聊天消息的文本.
例如,如果用户键入"Hello there",我想允许他们用"There hello"替换聊天输入字段,并将其留给用户发送更改的消息.
问题是我能够通过编辑textContent
输入的属性来更改文本,但聊天窗口小部件不知道更改,可能是因为没有触发正确的事件,所以当我按Enter键发送更改的消息时什么都没发生.此外,我无法使用鼠标或键盘删除更改的文本.
我试过模拟键盘输入,但没有成功.我愿意接受一个涉及到它的工作解决方案.
我的问题是,如何替换聊天输入字段中的文本,以便聊天窗口小部件检测并接受它?
注意:我没有使用jQuery,所以我更喜欢不使用它的解决方案.
在花了太多时间之后,我终于发现向textInput
可编辑元素发送事件可以更改其文本,并将触发所有React.js事件.
var setText = function(el, text) {
var te = document.createEvent('TextEvent');
te.initTextEvent('textInput', true, true, window, text);
el.dispatchEvent(te);
}
Run Code Online (Sandbox Code Playgroud)
之前我尝试过类似的东西,但是我发送了这个input
事件,这显然在WebKit和Chrome中无效.
感谢所有参与并试图提供帮助的人!
归档时间: |
|
查看次数: |
410 次 |
最近记录: |