2010-01-23 94 views
3

我正在開發一個基於Ruby的項目,它本質上是一個Web應用程序。我們喜歡網絡應用的格式和我們爲網絡建立的一些自然敏捷優勢。但是,我們希望能夠打包我們的應用程序並以獨立格式分發它。右鍵單擊Webkit視圖

理想情況下,我們想主要做的.app包適用於Mac和Windows一個。exe,僅僅打開一個Webkit的視圖,連接到我們的服務器並使得我們服務的HTML。

到目前爲止並不那麼難,雖然這有點超出了我們目前的專業知識(特別是Windows開發),但都是可以超越的。

的問題是,我們希望能夠右鍵單擊,你可以在iTunes商店(這是對右鍵單擊自定義事件的Webkit視圖)。 我們也希望在我們的應用程序中爲我們的右鍵單擊提供特殊的含義,並讓它對上下文敏感。

我們該怎麼辦?我們甚至可以從哪裏開始?

回答

2

你想從你的web應用程序或從你的本地應用程序端做到這一點?

如果您是從Cocoa應用程序執行此操作,則只需實現webView:contextMenuItemsForElement:defaultMenuItems:WebUIDelegate方法,並返回與您的自定義操作對應的自定義NSMenuItem的數組。

如果你想從Web應用程序本身做到這一點,你可以添加一個事件偵聽器「文本菜單」事件,像這樣:

document.addEventListener("contextmenu", function(event) { 
    event.preventDefault(); 
    console.log("My spiffy custom right click menu here!"); 
}, false); 

你需要知道,雖然,如果你使用以上代碼在您的web應用程序中,您不能修改瀏覽器的本地右鍵單擊菜單,只需將其替換爲您自己的自定義創建。