cef3屏幕外渲染和页面源
CEF 3 offscreen rendering and page source
今天我正在使用Chromium嵌入式框架3。
我已经设置、编译和执行了所有内容。一切正常
现在我想在所有内容呈现并执行JavaScript之后读取页面源代码。我还想从屏幕外渲染中获得缓冲区。
我的基本应用程序结构是:
App实现CefApp, CefBrowserProcessHandler和CefRenderProcessHandler
Handler实现了CefClient, CefDisplayHandler, CefLifeSpanHandler, CefLoadHandler和CefRenderHandler
Visitor实现CefStringVisitor
在App::OnContextInitialized()我正在执行
CreateBrowser(window_info, handler.get(), "http://www.google.com/",browser_settings, NULL);
,
window_info。SetAsWindowless (NULL,真的);
现在是App::OnContextCreated()只调用如果我运行CEF3在单模
main_settings。
否则它永远不会被调用。在App::OnContextCreated()我做
浏览器-> GetMainFrame()——> GetSource(新访客());
来获取页面源代码,它可以工作,但是该方法被调用了多次,并且此时似乎没有执行JavaScript。
我的问题是现在什么是阅读页面源代码的最佳点后,一切都呈现和JavaScript执行?
当Handler::GetViewRect()被调用时,Handler::OnPaint()永远不会被调用。
对
Norwido
OnContextCreated在Renderer进程中运行,这可能就是为什么它只能在单进程模式下工作。你应该调用浏览器进程中运行的CefLoadHandler::OnLoadEnd或OnLoadingStateChange中的GetSource。
没有在CefRenderHandler中实现所有必要的回调可能是OnPaint回调没有被调用的原因。阅读头文件中的文档注释
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 使用 SFML 和 C++ 将 Pixel 打印到屏幕上
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- Winapi:屏幕截图未显示在窗口中
- 如何在快板的屏幕中显示子位图的绘制?
- 按回车键后输出屏幕关闭
- 要在屏幕上绘制一些小瓷砖,我应该使用 QQuickItem 还是 QQuickPaintedItem?
- SFML 向下移动时如何围绕屏幕中心旋转?
- 截取屏幕截图后程序卡住
- C++鼠标单击时的屏幕截图不起作用
- 屏幕插入运算符<<的运算符过载问题
- 获取网格中心的屏幕位置
- SFML 中的字体.信息不显示在屏幕上.显示的不是信息,而是点
- 如何在屏幕上环绕x和y?
- GetDIBits 在屏幕捕获函数中多次迭代后返回零
- OpenGL ES 2.0将纹理绘制到屏幕上是行不通的
- GTKMM:拍摄绘图区域的屏幕截图?
- OpenGL - 添加第二个着色器属性会导致空白屏幕
- cef3屏幕外渲染和页面源