2

当我尝试使用此代码将菜单项添加到 web 视图时:

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;
  }));

应用程序退出并出现错误“分段错误(核心转储)”将菜单项添加到 WebView 的上下文菜单的正确方法是什么?

4

1 回答 1

2

小修正:

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

至少可以说这是令人困惑的,这是因为WebKit.ContextMenuItem有一个自定义构造函数,而不是使用new WebKit.ContextMenuItem. 分段错误是由于 WebKit 在其上下文菜单项未收到操作时阻塞;但是,如果 GJS 至少警告您这里发生了什么,那就太好了。

我在这里打开了 GJS 的错误报告。

于 2016-11-18T07:18:19.040 回答