2015-12-02 78 views
1

我有一个chrome扩展,用于监听ctrl + shift + u上的keydown。如何使用chrome.com命令触发另一个扩展中定义的命令

如果我在内容脚本中触发事件ctrl + shift + u,插件的侦听器将不会触发。

// (I am using jQuery) 

var e = jQuery.Event("keydown"); 

      e.which = 85; 
      e.keyCode = 85; 
      e.shiftKey = true; 
      e.ctrlKey = true; 

$(document).trigger(e); 

如何正确触发此事件? (最好从内容脚本或从另一个扩展名)

我不会说这个问题是重复的。我成功触发了该事件,只有扩展的处理程序不会触发。这个问题是指模拟浏览器操作,而不是基于内容的事件。

UPDATE:

监听事件是第三方软件,也没有办法去挖掘它里面的代码扩展。可以在浏览器级别的配置在Chrome键盘事件://扩展/ configureCommands

+0

[模拟JavaScript关键事件]的可能重复(http://stackoverflow.com/questions/596481/simulate-javascript-key-events) – wOxxOm

+1

如果该键被定义为'chrome://上的Chrome扩展键扩展“页面,那么你将无法以编程方式触发它。 – wOxxOm

+0

显然你必须使用内容脚本来捕获事件并将它们发送到后台进程http://stackoverflow.com/questions/5498893/chrome-extension-how-to-get-key-events – Kerstomaat

回答

1

所以,你的问题是这样的:如何引发另一部分定义的命令与chrome.commands

那是不可能的如果您不控制接收事件的分机,请使用分机代码。

您可能成功使用Native Host,但这是一条非常迂回的路线。

+0

谢谢,Xan,我编辑了我的问题。本地主机可能是一种方法。 –

相关问题