webkit2gtk-4.0 script_message_received не работает вала

Я создаю WebKit WebView от Vala.

Я подключил UserContentManager и зарегистрировал обработчик сообщений скрипта.

Я также подключил сигнал script_message_received до этого, как это написано в документации Valadoc.

Сценарий был успешно зарегистрирован, но script_message_received не стреляет После выполнения скрипта

window.webkit.messageHandlers.test.postMessage ('test');

Ничего не произошло.

WebView webKit = new WebView ();

webKit = new WebView.with_user_content_manager (new WebKit.UserContentManager ());

webKit.user_content_manager.script_message_received.connect ((js_result) =>
{
    debug ("Test result");
});

if (! webKit.user_content_manager.register_script_message_handler ("test"))
    debug ("Failed to register script message handler");

Что мне нужно сделать, чтобы сигнал сработал?

1 ответ

Решение

Проблема была в public class Main: Object

Вам нужно использовать public class Main: Gtk.Window

В противном случае ничего не работает.

Другие вопросы по тегам