2

我有一个将在嵌入式平台上运行的 javascript 应用程序。它必须调用一些已经在平台中实现的 c API。这是一个专有应用程序,只能在选定的设备上运行。
我在 webkit 上运行这个应用程序。没有可用的 JVM。
我正在考虑一些选择,并得到了一些。我想知道它们中的任何一个是否适用或更好的选择。我是 javascript 新手,所以我的想法可能不正确。

  1. 类似于 JNI 的东西(如果存在的话)

  2. 为 webkit 开发一个插件,它向应用程序公开一些 Javascript API,然后调用本机 c 函数

  3. 修改 webkit

4

2 回答 2

3

您的第二个建议非常接近您需要做的事情。当你编译浏览器时(你不需要自己编译webkit)你可以注册函数和对象。

如果您使用的是 Qt,您可能应该从这里开始。

如果你使用 GTK,注册是不同的,这里有一个很好的例子。

于 2013-04-02T09:18:43.293 回答
0

您可能想要探索的一种方法是脚本警报处理程序。我知道 webkit gtk 支持它http://webkitgtk.org/reference/webkitgtk/stable/webkitgtk-webkitwebview.html#WebKitWebView-script-alert

您可以在 webview 上设置简单的 javascript 警报并在另一侧解析参数,然后调用所需的函数。当然,如果你有复杂的参数(例如对象)不能很容易地转换成字符串,这种方法将很难实现。

唯一的问题是我不知道您的平台是否支持此功能,因为您没有提及平台,我无法检查。

于 2013-04-04T21:27:55.373 回答