2015-12-02 73 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,我編輯了我的問題。本地主機可能是一種方法。 –

相關問題