Google文档模拟键盘

时间:2014-12-04 09:58:58

标签: javascript google-docs keypress

我需要使用JavaScript在Google文档中模拟键盘,以便能够在光标位置打印或删除字符 不幸的是,模拟按键事件的解决方案对我来说并不起作用。我试过有没有jQuery。
经过一番调查后,我发现Google文档有虚拟键盘。单击虚拟键会调用此函数:

C.MOa = function(a) {
  this.dispatchEvent(new Q(Td, {keyCode: a}))
};

Td是一个字符串" action"和Q一些事件类 使用java脚本发送此事件的正确方法是什么?还有其他方法可以在Google文档中模拟键盘吗?

2 个答案:

答案 0 :(得分:3)

在Google文档的控制台中粘贴以下代码。

const input = document.querySelector(".docs-texteventtarget-iframe").contentDocument.activeElement;
    
// Insert the character in the document and trigger the save API call
const eventObj = document.createEvent("Event");
eventObj.initEvent("keypress", true, true);
eventObj.keyCode = 105;
input.dispatchEvent(eventObj);

您将在文档中看到字符“ i”。

答案 1 :(得分:1)

似乎Google文档有特殊的iframe来处理键盘事件。这是它的内容:

<html>
    <head></head>
    <body spellcheck="false" role="textbox" aria-label="Document content" contenteditable="true" style="background-color: transparent;"></body>
</html>

只需将键盘事件发送到此文档即可在google doc上打印字符。