我使用的WebKitGTK+ ( WebKit )
应用程序是一个在Linux环境中运行的非常简单的web浏览器,它是一个单独的可执行文件,需要在另一个应用程序之间交换数据。系统如下图所示:
示例场景:
在Backend processing Application
中检测到智能卡插入等事件
智能卡数据被读取并传递到WebKitGTK+ GUI Application
用户与WebKitGTK+ Application
中显示的“网页”交互
数据从WebKitGTK+ Application
传回Backend processing Application
在WebKitGTK+ Application
和Backend processing Application
之间传递数据的常用方法是什么?
WebKitGTK+是否提供了一些钩子来做这种事情?任何帮助都将不胜感激。
最佳答案
我知道这是一个老问题,但我会尽我所能去回答它,以便它对别人有用。
Webkit基本上是在呈现一个html页面。您可以连接到webkit提供的各种信号,并对这些信号进行操作。更多详情请访问http://webkitgtk.org/reference/webkitgtk/stable/webkitgtk-webkitwebview.html
对于后端应用程序,如果发生了有趣的事情,您可以通过导航到新的url、新的页面内容或仅仅通过设置所需元素的文本来更新页面。Webkit提供DOM api函数,所有这些都是可能的。
当从webkit获取数据并将其发送到后端系统时,它变得很有趣。同样,这取决于您的特定设计,但通常您可以在用户单击按钮并获取内容时连接导航信号等信号。另一种方法是使用警报处理程序,只需使用javascript警报并在后端处理警报数据。
无耻的插头例如:https://github.com/nhrdl/notesMD。它使用一个简单的数据库后端,可能是一个很好的用例,因为它在数据库和网页之间来回发送数据。甚至操纵链接,以便执行所需的操作。
关于linux - 在基于WebKit的浏览器之间传递数据的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14567547/