douwen6274 2014-01-13 14:31
浏览 79
已采纳

在Go cgo中更改WebKitWebSettings

I'm using go-webkit and I have a instance of webkitsettings, how can I change the settings?

I'm trying to do something like this

main.go

webview := webkit.NewWebView()
settings := webview.GetSettings()
settings.SetEnableJavascript(false)
webview.SetSettings(settings)

go-webkit Snippet from https://github.com/mattn/go-webkit/blob/master/webkit/webkit.go#L370

type WebSettings struct {
        glib.GObject
}

func (settings *WebSettings) SetEnableJavascript (flag bool) {
//I tried various ways
//C.g_object_set?
}
func (v *WebView) SetSettings(settings *WebSettings) {
        C.webkit_web_view_set_settings(v.getWebView(), C.to_WebKitWebSettings(settings.Object));
}
func (v *WebView) GetSettings() *WebSettings {
        return &WebSettings{glib.GObject{unsafe.Pointer(C.webkit_web_view_get_settings(v.getWebView()))}}
}
func NewWebSettings() *WebSettings {
        return &WebSettings{glib.GObject{unsafe.Pointer(C.webkit_web_settings_new())}}

}

Webkit API: 1.0 http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html

/* Create a new websettings and disable java script */
WebKitWebSettings *settings = webkit_web_settings_new ();
g_object_set (G_OBJECT(settings), "enable-scripts", FALSE, NULL);

/* Apply the result */
webkit_web_view_set_settings (WEBKIT_WEB_VIEW(my_webview), settings);
  • 写回答

1条回答 默认 最新

  • dtntjwkl83750 2014-01-13 17:36
    关注

    WebSettings embeds glib.GObject which in turn implements the Set method (see godoc).

    So g_object_set should translate in your case to settings.GObject.Set or, as the method set of GObject is exported to WebSettings, you can simply do

    settings.Set("enable-scripts", false)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。