我知道要在 iPhone 上执行此操作,您需要捕获链接请求(根据我的另一个 iPhone 问题 UIWebView Expose JavaScript),您可以轻松地执行相反的操作并从 Obj-C 代码访问 JavaScript。
但是,我希望 JavaScript 能够调用一些以某种方式注册到 WebKit 的 Objective-C 函数。我认为您可以比在 iPhone 上捕获链接做得更好,因为在 Mac OS X 上我们可以访问完整的 WebKit。
我希望基本上做 Using JavaScript from Objective-C 的反向操作
更新:例如,是否可以在 JavaScript 中公开 objective-c 方法,如 self.external.objcmethod();
最佳答案
看看my answer至 this question , 这非常相似。我提供的代码可以准确地向您展示如何执行您想要的操作。
基本上,您需要根据 the documentation 实现 WebScripting 协议(protocol).
您不需要定义自己的 URL 方案处理程序,这只对 iPhone 应用程序是必需的。在 Mac 上,WebView
对象比 iPhone 上的 UIWebView
强大许多数量级,并且允许从 JavaScript 到 Objective-C 的完全桥接,反之亦然。
关于objective-c - 如何在 Mac OS X 上使用 WebKit 将 Objective-C 函数公开给 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2809031/