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 支持。
我下载的cef81.3.1_chromium81.0.4044.113 按照楼主的方法试了后,还是不行呢
应该是已经彻底屏蔽了吧。
你好,我自己编译的最新版本,打开4399上的植物大战僵尸这个小游戏,能自动播放了,到你截图这个界面后是白屏,这是什么原因?
你好,我自己编译的最新版本,打开4399上的植物大战僵尸这个小游戏,能自动播放了,到你截图这个界面后是白屏,这是什么原因?
这个是一个不成熟的方案,如果遇到一些广告flash插件的话,会导致广告倒计时播放完毕,不自动播放内容flash。
最好的解决方案是在OnAfterCreated内设置“profile.default_content_setting_values.plugins”
原因是,初始化时传递request_content参数会导致flash缓存写入失败
学习了,感谢提供解决方案。
大神,请问java-cef 你知道怎么设置吗?如果知道麻烦告诉一下
对 Java 没有过实战,可能帮不到你。