【发布时间】:2011-03-03 13:20:56
【问题描述】:
WebKit 框架的WebView 类具有访问当前WebScriptObject 的属性。我知道你可以使用这个对象调用 JS 方法,但是有没有办法接收异步 JS 回调通知?
我想在 WebView 中渲染一些东西,并且脚本在完成时有一个回调函数,但是我如何将此通知返回给我的 Cocoa 应用程序(不轮询 var)?
【问题讨论】:
标签: objective-c cocoa webkit webview
WebKit 框架的WebView 类具有访问当前WebScriptObject 的属性。我知道你可以使用这个对象调用 JS 方法,但是有没有办法接收异步 JS 回调通知?
我想在 WebView 中渲染一些东西,并且脚本在完成时有一个回调函数,但是我如何将此通知返回给我的 Cocoa 应用程序(不轮询 var)?
【问题讨论】:
标签: objective-c cocoa webkit webview
您需要实现WebScripting 协议,该协议允许您在 WebView 的 JavaScript 环境中将 Cocoa 类的方法作为函数出售。阅读the docs.
您也可以按照您的说明使用JavaScriptCore。
【讨论】:
我想我自己想通了。
应该可以通过使用JavaScriptCore 框架并使用JSObjectMakeFunctionWithCallback 创建JSObjectRef 并将C 回调函数传递给此构造函数。
【讨论】: