。CookieManager.getInstance()setAcceptCookie(真);

时间:2017-08-19 16:15:12

标签: webview gtk vala

WebView wv=new WebView();
wv.load_uri("http://www.twitter.com");

如何允许Cookie?

我读了

CookieManager.getInstance().setAcceptCookie(true);

但我找不到合适的语法

  

valac --pkg gtk + -3.0 --pkg webkit2gtk-4.0 wv.vala&& ./wv   wv.vala:25.2-25.26:错误:'webKit.CookieManager'上下文中不存在名称'getInstance'       。CookieManager.getInstance()setAcceptCookie(真);

1 个答案:

答案 0 :(得分:1)

对于Gtk + 3和Webkit2Gtk-4.0,cookie接受/拒绝由CookieManager控制,您可以从Webkit web context数据管理器中检索。

使用您提供的代码:

using Gtk;
using WebKit;

public int main (string[] args) { 
    Gtk.Window window;

    Gtk.init(ref args);

    window = new Gtk.Window();
    window.destroy.connect(Gtk.main_quit);

    WebView wv=new WebView();
    wv.get_context().get_cookie_manager ().set_accept_policy(CookieAcceptPolicy.ALWAYS);

    window.add(wv);
    window.show_all();

    //wv.load_uri("http://www.html-kit.com/tools/cookietester");
    wv.load_uri("http://www.whatarecookies.com/cookietest.asp");

    Gtk.main();

    return 0;
}

使用提供的示例验证CookieAcceptPolicy

始终设置接受:

wv.get_context().get_cookie_manager ().set_accept_policy(CookieAcceptPolicy.ALWAYS);

测试网站将回复:

AcceptAlways

设置接受从不:

wv.get_context().get_cookie_manager ().set_accept_policy(CookieAcceptPolicy.NEVER);

测试网站将回复:

AcceptNever

修改

编译:

valac --pkg gtk+-3.0 --pkg webkit2gtk-4.0 <your-filename.vala>