如何在Vala中获得webkit2gtk-4.0中的JS结果?

时间:2014-12-03 23:33:11

标签: javascript vala webkitgtk

我在Vala应用程序中使用webkit2gtk-4.0来显示Google地图。我需要在按钮点击时获得标记坐标。我该如何管理?

我想出了如何使用run_javascript()运行javascript,但是我无法理解它的结果。

1 个答案:

答案 0 :(得分:0)

通常你需要使用Vala async functions这样做,我相信如下:

var result = yield webview.run_javascript(...);

这相当于C函数webkit_web_view_run_javascript_finish()

很遗憾,您无法在Vala中显示该链接所示的下一步,因为您需要使用JavaScriptCore API来获取返回值,并且该Vala中的API不可用。

在这种情况下,你可以采取一些肮脏的技巧。其中一个技巧就是在Javascript脚本的末尾设置窗口标题,并在Vala的webview的title属性中查看通知。

但是,您可能最好在C中编写一小段代码,然后将其编译到Vala应用程序中。