模拟用户脚本中的Enter键篡改猴子

我正在尝试编写一个用户脚本,该脚本在带有类名称="chat-input"的输入标记中键入一些内容,然后按Enter键。从现在起,用户脚本只键入"Hello!"在聊天中-输入,但不模拟Enter键。知道为什么吗?

var msg = "Hello!";

        var target = document.getElementsByClassName("chat-input")[0];
                             target.value = msg ;
        var eventType = "textInput";
        var evt = document.createEvent("TextEvent");
        evt.initKeyEvent("keypress", true, false, window, 0, 0, 0, 0, 13, 13);

        target.focus();
        target.dispatchEvent(evt);

输入框没有任何提交按钮,发送消息的唯一方式是按Enter键


解决方案

正在从here复制修改后的答案。

const ke = new KeyboardEvent("keydown", {
    bubbles: true, cancelable: true, keyCode: 13
});
target.dispatchEvent(ke);

根据该帖子,initKeyEvent仅适用于Firefox。

相关文章