【问题标题】:How to simulate key press event on chrome extension如何在 chrome 扩展上模拟按键事件
【发布时间】:2017-05-04 12:37:18
【问题描述】:

我需要使用 chrome 扩展在 facebook 状态字段中使用给定的字符代码触发按键事件。有没有正确的方法来做到这一点。

我尝试使用以下代码。但似乎不起作用。

chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
    if(message.pressEnter){
        chrome.tabs.query({active: true}, function(tabs) {
            chrome.debugger.attach({ tabId: tabs[0].id }, "1.0");
            chrome.debugger.sendCommand({ tabId: tabs[0].id }, 'Input.dispatchKeyEvent', { type: 'keypress', windowsVirtualKeyCode:13, nativeVirtualKeyCode : 13, macCharCode: 13  });
            chrome.debugger.sendCommand({ tabId: tabs[0].id }, 'Input.dispatchKeyEvent', { type: 'keyDown', windowsVirtualKeyCode:13, nativeVirtualKeyCode : 13, macCharCode: 13  });
            chrome.debugger.detach({ tabId: tabs[0].id });
        });
    }
});

【问题讨论】:

标签: javascript jquery google-chrome-extension dom-events


【解决方案1】:

当你使用chrome调试器API的Input.dispatchKeyEvent时,目标元素是什么元素?常规事件调度需要指定目标元素。

此外,使用普通 javascript 调度 API 调度的事件是不受信任的,因此它们不会触发默认行为。例如。使用 javascript 将字母 A 分派到文本输入不符合规范。

因此,首先检查所调度的事件是否可信,并找出它所针对的元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多