右键单击Webkit视图

时间:2010-01-23 21:05:15

标签: ruby windows macos webkit

我正在开发一个Ruby项目,它本质上是一个web-app。我们喜欢网络应用程序的格式以及我们为网络构建的一些自然敏捷优势。但是,我们希望能够打包我们的应用程序并以独立格式分发它。

理想情况下,我们希望基本上为Mac创建一个.app包,为Windows打开一个.exe,只打开一个Webkit视图,连接到我们的服务器并呈现我们提供的HTML。

到目前为止并不那么难,虽然这有点超出了我们目前的专业知识(特别是Windows开发),但都是可以克服的。

问题是我们想要在iTunes商店(这是一个具有右键单击自定义事件的Webkit视图)中启用右键单击。 我们希望在我们的应用程序中给出我们的右键单击特殊含义,并使其对上下文敏感。

我们做什么?我们哪里可以开始呢?

1 个答案:

答案 0 :(得分:2)

您想从您的网络应用程序或本机应用程序端执行此操作吗?

如果您是从Cocoa应用程序执行此操作,则可以实现webView:contextMenuItemsForElement:defaultMenuItems:WebUIDelegate方法并返回与您的自定义操作对应的自定义NSMenuItem数组。

如果您想从网络应用程序本身执行此操作,您可以为“contextmenu”事件添加事件监听器,如下所示:

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

您需要注意,如果您在webapp中使用上述代码,则无法修改浏览器的本机右键单击菜单,只需将其替换为您自己的自定义创建。