Как получить результаты JS в webkit2gtk-4.0 в Vala?
Я использую webkit2gtk-4.0 в приложении Vala для отображения Google Maps. И мне нужно получить координаты маркера при нажатии кнопки. Как мне это сделать?
Я понял, как запустить JavaScript с помощью run_javascript()
, но я не могу понять жарко, чтобы получить результаты этого.
1 ответ
Обычно для этого вам нужно использовать асинхронные функции Vala, я так думаю:
var result = yield webview.run_javascript(...);
Это эквивалентно функции C webkit_web_view_run_javascript_finish()
,
К сожалению, вы не можете сделать следующий шаг, показанный по этой ссылке в Vala, так как вам нужно использовать API JavaScriptCore, чтобы получить возвращаемое значение, и этот API не доступен в Vala.
В этом случае вы можете прибегнуть к нескольким грязным трюкам. Одним из таких приемов является установка заголовка окна в конце скрипта Javascript и отслеживание уведомлений в веб-представлении. title
недвижимость в Вала.
Тем не менее, вам может быть лучше написать небольшой кусочек кода на C, который вы компилируете в свое приложение Vala.