[英]Change WebKitWebSettings in Go cgo
我正在使用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);
WebSettings
嵌入glib.GObject
,后者又實現了Set
方法(請參閱godoc )。
因此,在您的情況下, g_object_set
應該轉換為settings.GObject.Set
或者,當GObject
的方法集導出到WebSettings
,您可以簡單地執行
settings.Set("enable-scripts", false)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.