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

理想情况下,我们实际上希望为Mac创建一个.app软件包,为Windows创建一个.exe软件包,它们仅打开Webkit View ,连接到我们的服务器并呈现我们为其提供的HTML。

到目前为止,还不难,尽管这超出了我们当前的专业知识(尤其是Windows开发),但所有方面都是可以克服的。

问题是,我们希望启用右键单击,就像您在iTunes商店中一样(这是一个Webkit View ,其中包含右键单击的自定义事件)。我们也想在我们的应用程序中赋予右键单击特殊的意义,并使其对上下文敏感。

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

最佳答案

您要从Web应用程序还是从 native 应用程序端执行此操作?

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

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

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

不过,您需要知道,如果在Web应用程序中使用上述代码,则无法修改浏览器的 native 右键单击菜单,只需将其替换为自己的自定义创建即可。

关于ruby - 右键单击Webkit View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2124729/

10-11 19:30