webkit2gtk-4.0 script_message_received 不工作 vala

webkit2gtk-4.0 script_message_received does not work vala

我正在从 Vala 创建一个 WebKit WebView。

我连接了 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");

我必须做什么才能触发信号?

问题出在public class Main: Object

您需要使用public class Main: Gtk.Window

否则无效。