CEF 76 内核在编译后即使增加了 ppapi-flash-path
和 ppapi-flash-version
也无法在页面中使用 Flash,在命令行参数中确定两个参数是生效的,如图:
CEF != Chrome,这里无论你怎么点击右键都没有效果,经过一番查询,在 CEF 论坛中找到了可行方案:https://www.magpcss.org/ceforum/viewtopic.php?f=7&t=17068&start=10 经过一番尝试,发现在我们创建主进程(CreateBrowser)的时候将 profile.default_content_setting_values.plugins
设置为 1 就可以了。具体实现代码如下:
CefRequestContextSettings rcsettings;
CefString(&rcsettings.cache_path).FromWString(app_data_path);
auto request_content = CefRequestContext::CreateContext(rcsettings, new ClientRequestContextHandler);
CefString error;
CefRefPtr<CefValue> value = CefValue::Create();
value->SetInt(1);
request_content->SetPreference("profile.default_content_setting_values.plugins", value, error);
CefBrowserHost::CreateBrowser(window_info,
handler,
cached_login_addr ? url : "",
browser_settings,
nullptr,
request_content);
在你的代码中,搜索 CreateBrowser 在创建前,修改 profile.default_content_setting_values.plugins
值即可无需用户交互自动开启 Flash 支持。