在 Windows 上,当“Shell.Explorer”ActiveX 控件嵌入应用程序时,可以在实现 IDispatch 的对象上注册“外部”处理程序,以便网页上的脚本可以调用宿主应用程序。
<button onclick="window.external.Test('called from script code')">test</button>
现在,我转向 Mac 开发,并认为我可以从嵌入在我的 Cocoa 应用程序中的 WebKit 获得类似的工作。但是,实际上似乎没有任何工具可以让脚本回调到托管应用程序。
一条建议是挂钩window.alert
并获取脚本以将格式化的消息字符串作为警报字符串传递。我还想知道是否可以使用 NPPVpluginScriptableNPObject 将 WebKit 定向到应用程序托管的 NPAPI 插件。
我错过了什么吗?托管 WebView 并允许脚本与主机交互真的有这么难吗?