Matchman33
设置缓存目录
全局缓存:
// 缓存目录
rootCache := filepath.Join(consts.CurrentExecuteDir, "rootcache")
app := cef.NewApplication()
app.SetRootCache(rootCache)
app.SetCache(filepath.Join(rootCache, "cache"))
给每个浏览器(chromium)设置不同缓存目录
// 创建chromium
chromium := cef.NewChromiumBrowser(boxBottom, nil)
// 省略...
// 创建 RequestContextSettings,在这里设置CachePath缓存路径
// 根据下一个窗口序号ID, CEF默认会给每个browser分配一个唯一的ID,我们应该使用它,但是只有创建之后才能获得,所以此时还拿不到, 使用 tabIndex代替
var context *cef.ICefRequestContext
if switchCacheRadFalse.Checked() {
settings := cef.TCefRequestContextSettings{}
settings.CachePath = et.TCefString(filepath.Join(rootCachePath, fmt.Sprintf("sing_%v", name)))
settings.PersistSessionCookies = 1 //bool: 0 或 1
settings.PersistUserPreferences = 1 //bool: 0 或 1
context = cef.RequestContextRef.New(&settings, nil)
}
// 在创建浏览器对象之后,在显示创建浏览器之前将 context 设置到 SetCreateBrowserExtraInfo
chromium.SetCreateBrowserExtraInfo("", context, nil)
参考: many-browser 示例