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
否则无效。
我正在从 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
否则无效。