解决 CEF 76+ 内核默认禁用 Flash 插件提示 “右键点击即可运行 Adobe Flash Player”

CEF 76+ 内核在编译后即使增加了 ppapi-flash-pathppapi-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 支持。

解决 CEF 76+ 内核默认禁用 Flash 插件提示 “右键点击即可运行 Adobe Flash Player”》有4个想法

      1. turkeysy

        你好,我自己编译的最新版本,打开4399上的植物大战僵尸这个小游戏,能自动播放了,到你截图这个界面后是白屏,这是什么原因?

        回复
  1. turkeysy

    你好,我自己编译的最新版本,打开4399上的植物大战僵尸这个小游戏,能自动播放了,到你截图这个界面后是白屏,这是什么原因?

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注