在Facebook的聊天中设置或替换textContent

min*_*iml 9 javascript facebook google-chrome-extension reactjs

我正在开发Chrome扩展程序,允许用户在发送之前替换其Facebook聊天消息的文本.

例如,如果用户键入"Hello there",我想允许他们用"There hello"替换聊天输入字段,并将其留给用户发送更改的消息.

问题是我能够通过编辑textContent输入的属性来更改文本,但聊天窗口小部件不知道更改,可能是因为没有触发正确的事件,所以当我按Enter键发送更改的消息时什么都没发生.此外,我无法使用鼠标或键盘删除更改的文本.

我试过模拟键盘输入,但没有成功.我愿意接受一个涉及到它的工作解决方案.

我的问题是,如何替换聊天输入字段中的文本,以便聊天窗口小部件检测并接受它?

注意:我没有使用jQuery,所以我更喜欢不使用它的解决方案.

min*_*iml 6

在花了太多时间之后,我终于发现向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中无效.

感谢所有参与并试图提供帮助的人!