如何在Mac OS X上使用WebKit向Java公开Objective-C函数?

Luk*_*uke 3 macos cocoa webkit objective-c

我知道要在iPhone上执行此操作,您需要捕获链接请求(根据我的其他iPhone问题UIWebView Expose JavaScript),您可以轻松地执行相反的操作并从Obj-C代码访问JavaScript.

但是,我希望JavaScript能够调用某些Objective-C函数,这些函数会以某种方式在WebKit中注册.我认为你可以做到这一点比捕获iPhone上的链接更好,就像在Mac OS X上我们可以访问完整的WebKit一样.

我希望基本上反过来使用Objective-C中的JavaScript

更新: 例如,可以在JavaScript中公开objective.external.objcmethod();

Rob*_*ger 6

看看这个问题的答案非常相似.我提供的代码可以向您显示如何做您想做的事情.

实际上,您需要根据文档实现WebScripting协议.

您不需要定义自己的URL方案处理程序,这只是iPhone应用程序所必需的.在Mac上,该WebView对象比UIWebViewiPhone上强大了许多个数量级,并允许从JavaScript到Objective-C的完全桥接,反之亦然.