首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WebKit2时GTK3窗口“冻结”(Vala)

使用WebKit2时GTK3窗口“冻结”(Vala)
EN

Stack Overflow用户
提问于 2017-04-19 22:50:01
回答 1查看 128关注 0票数 0

所以最近我一直在玩Vala和Gtk+3.0,我决定创建一个非常简单的网络浏览器作为我的一个应用程序的一部分,以便显示我的一个网页,它使用谷歌地图API来显示一些标记。我创建了一个如下所示的类:

代码语言:javascript
复制
using Gtk;
using WebKit;

public class WebBrowser : Window {

     private string URL = "";
     private WebView view;

    // Constructor
        public WebBrowser () {
           this.view = new WebView();
           var settings = this.view.get_settings();
           settings.enable_plugins = true;
           settings.enable_javascript = true;
           this.add(view);
    }

    public void visit (string url) {
         this.URL = url;
         this.view.load_uri(this.URL);
     }

 }

在我使用的编译标志中

代码语言:javascript
复制
--pkg gtk+-3.0 --pkg webkit2gtk-4.0

这个类的用法如下(这里将使用随机数据):

代码语言:javascript
复制
var browser = new WebBrowser();
browser.set_title ("Custom window title!");
browser.default_width = 1200;
browser.default_height = 800;
browser.visit ("http://acid3.acidtests.org/");
browser.show_all ();

而且它是有效的。它在考试中得了100分。唯一的问题是,我不能使用实际的WebKit对象。当我调整窗口大小时,WebKit运行正常,并正确调整网页大小,但我无法关闭窗口,也无法以任何方式与网页交互。我可以处理一些信号并手动关闭窗口,但WebKit仍然显示为"frozzen“。有没有办法在对象上启用鼠标控制,或者这只是一个bug?起初我认为这与我使用gtk+-3.0的事实有关,webkit2gtk-4.0可能是为一些较新版本的gtk设计的,但我在某处看到webkit2gtk-3.0被重命名为webkit2gtk-4.0,实际上,如果我使用旧版本的WebKit2,我的应用程序将无法编译。

EN

回答 1

Stack Overflow用户

发布于 2017-04-22 14:24:31

您运行的是哪个版本的WebKitGTK?如果是2.16,那么你可能会遇到这个错误:https://bugs.webkit.org/show_bug.cgi?id=170450修复将在2.16.2中发布,但Fedora已经将补丁添加到了他们的包的2.16.1-2版本中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43499146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档