如何将菜单项添加到WebKitContextMenu(javascript,gjs)?

时间:2016-11-03 12:35:32

标签: gtk gjs webkitgtk

当我尝试使用以下代码将菜单项添加到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;
  }));

app退出时出现错误" Segmentation fault(core dumped)" 将menuitem添加到WebView的上下文菜单中的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

小修正:

var m_item = WebKit.ContextMenuItem.new(action);

至少可以说这是令人困惑的,因为WebKit.ContextMenuItem有一个自定义构造函数,而不是通常用new WebKit.ContextMenuItem调用的GObject构造函数。分段错误是由于WebKit在其上下文菜单项没有收到动作时窒息;但是,如果GJS至少警告过你在这里发生了什么,那就好了。

我已经为GJS here打开了一个错误报告。