我在我的 Vala 应用程序中使用 webkit2gtk-4.0 来显示谷歌地图。我需要在按钮单击时获取标记坐标。我该如何管理它?
我想出了如何使用 javascript 运行 javascript run_javascript()
,但我无法理解 hot 来获得它的结果。
我在我的 Vala 应用程序中使用 webkit2gtk-4.0 来显示谷歌地图。我需要在按钮单击时获取标记坐标。我该如何管理它?
我想出了如何使用 javascript 运行 javascript run_javascript()
,但我无法理解 hot 来获得它的结果。
通常你需要使用 Vala 的异步函数来做到这一点,我相信是这样的:
var result = yield webview.run_javascript(...);
这相当于 C 函数webkit_web_view_run_javascript_finish()
。
不幸的是,您无法在 Vala 中执行该链接中显示的下一步,因为您需要使用 JavaScriptCore API 来获取返回值,而该 API 在 Vala 中不可用。
在这种情况下,您可以使用一些肮脏的技巧。title
一个这样的技巧是在 Javascript 脚本的末尾设置窗口标题,并在 Vala 中查看 webview 属性的通知。
但是,您最好用 C 编写一小段代码,然后编译到您的 Vala 应用程序中。