我正在使用 Energy(基于 LCL 和 CEF(Chromium 嵌入式框架)的 Go GUI 框架,用于开发 Windows、macOS 和 Linux 的跨平台桌面应用程序)开发桌面应用程序。当我在 CEF 中启用 Flash 插件并加载使用 Flash 的网页时,会导致白屏。屏幕截图
cef.GlobalInit(nil, nil)
cefApp := cef.NewApplication()
cef.BrowserWindow.Config.Url = "http://seer.61.com/play.shtml"
config := cef.NewChromiumConfig()
config.SetEnableMenu(false)
config.SetEnableDevTools(false)
config.SetEnabledJavascript(true)
cef.BrowserWindow.Config.SetChromiumConfig(config)
eh := os.Getenv("ENERGY_HOME")
if eh == "" {
eh = consts.ExeDir
}
cefApp.AddCustomCommandLine("ppapi-flash-path", filepath.Join(eh, "pepflashplayer.dll"))
cefApp.AddCustomCommandLine("ppapi-flash-version", "99.0.0.000")
cefApp.AddCustomCommandLine("allow-outdated-plugins", "")
cefApp.AddCustomCommandLine("disable-gpu", "")
cefApp.SetOnBeforeChildProcessLaunch(func(commandLine *cef.ICefCommandLine) {
commandLine.AppendSwitch("--allow-outdated-plugins")
commandLine.AppendSwitch("--disable-web-security")
commandLine.AppendSwitch("enable-system-flash")
})
值得注意的是,当我使用相同的参数和Flash插件DLL访问某些需要Flash支持的网页时,它们运行正常。我怀疑Energy框架可能有问题,但我也尝试过cefpython并遇到了同样的白屏问题。但是,当我使用 Electron 并加载相同的 pepflashplayer 时,没有任何问题。
如何解决Energy中的白屏问题?
如果您需要进一步帮助或希望我提供更有条理的问题或故障排除步骤,请告诉我!
设置缓存路径后,就成功了!