在 Go cgo 中更改 WebKitWebSettings

我正在使用 go-webkit 并且我有一个 webkitsettings 实例,我该如何更改设置?


我正在尝试做这样的事情


main.go


webview := webkit.NewWebView()

settings := webview.GetSettings()

settings.SetEnableJavascript(false)

webview.SetSettings(settings)

来自https://github.com/mattn/go-webkit/blob/master/webkit/webkit.go#L370 的go-webkit片段


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


catspeake
浏览 214回答 1
1回答

慕码人8056858

WebSettings嵌入功能glib.GObject这又实现了Set方法(参见godoc)。所以g_object_set应该在你的情况下转换为settings.GObject.Set或者,因为方法集GObject被导出到WebSettings,你可以简单地做settings.Set("enable-scripts", false)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go