我目前正在评估不同的方法/解决方案,以从嵌入在HTML页面中的JavaScript代码调用C++函数。该应用程序必须在Ubuntu Server 12.04 LTS上运行。使用GTK + Webkit Webview(和Qt WebKit桥接器)从JavaScript/HTML调用C++
我不是基于Linux的开发专家。这是我第一次尝试使用JavaScript和C++代码之间的接口。
C++代码基本上驻留在.so文件(动态库)中,它将提供访问某些硬件和文件系统的接口方法。 GUI需要使用HTML,我正在寻找可能从HTML调用C++的不同解决方案。我搜索并最终决定尝试两种方法,都使用WebKit引擎。
方法1:使用Qt 5.0.2 Webkit的大桥 - WebView控件
的GUI框架将在Qt框架,主应用程序窗口将包含将运行的HTML代码中又包含一个WebView控件JavaScript代码。
网页和C++之间的接口使用addToJavaScriptWindowObject()函数完成。
我创建了一个示例应用程序,并测试了这个解决方案,它似乎工作正常。
方法二:使用GTK +的WebKit的WebView
我下载并安装了GTK 3.0库。
我得到了webkitgtk 2.0.1并安装了它。
我用GTK创建了一个没有webkit的测试应用程序,它运行良好。
我想创建一个使用GTK的webkit webview控件。
当用Qt试用我的方法1时,有相当多的文档和样本可以做我想做的事情。但从方法2开始使用GTK +之后,我觉得比较慢。我个人认为,文档部分对于我正在尝试开发的那种应用程序来说并不那么简单。
其他途径:
我也想试试检查或者使用小程序(至.so文件直接调用)或使用V8 JavaScript引擎的JavaScript和C++之间的接口是可行的选项(https://code.google.com/p/v8/)
我曾尝试以下资源:
http://webkitgtk.org/
http://www.webkit.org/
https://live.gnome.org/WebKitGtk/ProgrammingGuide/Tutorial
我想知道在包含JavaScript的HTML网页中单击按钮时,如何完成调用C++函数(在.so文件中)的界面部分。我应该寻找什么样的信号。如果我正在使用WebkitWebview控件,如何将按钮点击映射到C++函数?
有人能指点我正确的方向吗?
我真的很感激你的时间和知识。
问候。
如果您使用的是Chrome,则可以使用本机客户端 http://stackoverflow.com/questions/1666957/is-there-any-way-to-use-c-in-chrome-extension – camino 2014-03-17 03:59:56