我需要使用chrome扩展名在facebook状态字段中使用给定的char代码触发keypress事件。有没有正确的方法来做到这一点。
我尝试使用以下代码。但似乎无效。
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 });
});
}
});
答案 0 :(得分:0)
当您使用chrome调试器API的Input.dispatchKeyEvent时,目标元素是什么元素?常规事件调度需要指定目标元素。
此外,使用普通javascript调度API调度的事件不受信任,因此它们不会触发默认行为。例如。使用javascript将字母A发送到文本输入时,规范不执行任何操作。
因此,首先检查调度的事件是否可信并找到它所针对的元素。