2013-01-18 41 views
0

我有一個在Safari,Chrome和Firefox中運行的NPAPI插件。我可以使用事件回調來處理所有組合鍵,但是我遇到的問題是使用某些組合鍵。NPAPI mac插件與瀏覽器共享命令

在插件中,我試圖使用Command + O來觸發插件的文件打開對話框,但瀏覽器也在觸發其打開的文件對話框。

據說,事件處理方法返回TRUE應該向瀏覽器報告插件處理該事件,但我沒有這方面的運氣。

回答

1

您忽略了指定您正在使用的操作系統;基於你說「Command + O」而不是「Ctrl-O」的事實,我假設你在Mac上。壞消息是,在Mac上,所有事件都從瀏覽器傳遞給插件。如果瀏覽器沒有選擇讓重寫事件的處理成爲可能(聽起來就像是這種情況),那麼可能沒有辦法做到這一點,可能使用一些操作系統掛鉤來攔截鍵事件發生在瀏覽器獲得它之前,這似乎有風險。

在windows上,你可能會有更多的運氣,因爲窗口化的插件在傳遞給父窗口之前應該首先獲取事件,從而可以攔截它們。但是,在Mac上,它完全沒有窗戶,當瀏覽器感覺像是將它們提供給你時,你會得到事件。

+0

感謝taxilian。對於我一直在處理的命令,瀏覽器確實在轉發它們,但仍然沒有控制權來阻止他們之後的操作。 –

+0

並且在它到達瀏覽器之前以某種方式停止它,沒有辦法這樣做。 – taxilian