当我尝试使用以下代码向webview添加菜单项时:
my_webview.connect('context-menu', Lang.bind(this, function(webview, c_menu, event, hit_test){
var action = new Gtk.Action({name:"some_name", label:"Some Label"});
action.connect('activate', Lang.bind(this, function(){
print("Your Menu Item !");
}))
var m_item = new WebKit.ContextMenuItem(action);
c_menu.append(m_item);
m_item.show();
return false;
}));
应用程序退出错误"Segmentation fault (core dumps)"在WebView的上下文菜单中添加菜单项的正确方法是什么?
小更正:
var m_item = WebKit.ContextMenuItem.new(action);
这至少可以说是令人困惑的,这是因为WebKit.ContextMenuItem
有一个自定义构造函数,而不是new WebKit.ContextMenuItem
调用的通常的GObject构造函数。分割错误是由于WebKit阻塞时,它的上下文菜单项没有收到一个动作;然而,如果GJS至少提醒你这里发生了什么,那就太好了。
我在这里打开了GJS的bug报告