- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
今天我正在使用 Chromium Embedded Framework 3。
我已设置、编译和执行所有内容。一切正常。
现在我想在呈现所有内容并执行 JavaScript 后读取页面源代码。我还想从离屏渲染中获取缓冲区。
我的基本应用程序结构是:
App 实现了 CefApp、CefBrowserProcessHandler 和 CefRenderProcessHandler
处理程序实现 CefClient、CefDisplayHandler、CefLifeSpanHandler、CefLoadHandler 和 CefRenderHandler
访问者实现 CefStringVisitor
在 App::OnContextInitialized() 中我正在执行
CreateBrowser(window_info, handler.get(), "http://www.google.com/", browser_settings, NULL);
同时
window_info.SetAsWindowless(NULL, true);
现在 App::OnContextCreated() 只有在我以单模式运行 CEF3 时才会调用
main_settings.single_process = true;
否则它永远不会被调用。在 App::OnContextCreated() 我正在做
browser->GetMainFrame()->GetSource(new Visitor());
获取页面源并且它有效,但是该方法被多次调用并且此时似乎不执行JavaScript。
我现在的问题是,在呈现所有内容并执行 JavaScript 之后,阅读页面源代码的最佳点是什么?
在调用 Handler::GetViewRect() 时也永远不会调用 Handler::OnPaint()。
问候
挪威
最佳答案
OnContextCreated 在 Renderer 进程中运行,这可能就是它仅在单进程模式下工作的原因。您应该在 Browser 进程中运行的 CefLoadHandler::OnLoadEnd 或 OnLoadingStateChange 中调用 GetSource。
未在 CefRenderHandler 中实现所有必要的回调可能是未调用 OnPaint 回调的原因。阅读头文件中的文档注释。
关于c++ - CEF 3 离屏渲染和页面源码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24972921/
我在 Delphi 10.1 的项目中使用 CEF 3.2623.1401.gb90a3be (Chromium 49.0.2623.110)。 (我必须使用相当旧版本的 CEF/Chromium 才
我想使用CEF来控制Flash应用程序,所以我需要在没有JavaScript的情况下模拟MouseDown和KeySend。我正在使用离屏渲染。这是我尝试过的: managedCefBrowserAd
我有一个 Chromium 嵌入式框架 (CEF) 应用程序,我们希望在客户端 JavaScript 端与浏览器端之间进行通信。到目前为止,我们有可能使用通用消息路由器 GenericMessageR
我的应用程序无法构建甚至运行。它给我一个创建 CEF 浏览器失败的错误。 直到今天,一切都运行良好。我按照此链接中的说明再次卸载并安装了 CEF:Big Changes and CEF但它仍然给了我错
首先,我在gitter和github讨论板以及wiki页面中进行了搜索,但仍然没有任何进展.. 所以我第一次在这里问这个问题......: 最后也是最好的事情是我尝试将对象暴露给 javascript
我想要使用 CEF 渲染网页的应用程序的 html 部分(例如:类 Chrome_RenderWidgetHostHWND)的屏幕截图。 尝试使用 BitBlt和 PrintWindow但只能捕获黑屏
有什么方法可以检测我的 JS 代码是在真正的浏览器中运行,还是在 CEF 或 Electron 等工具包中运行? 最佳答案 如果您可以控制托管 CEF 控件的应用程序,您可以注册一个要绑定(bind)
我正在使用原始 WinAPI 在 C++ 上开发一个应用程序,它使用 CEF 3 来显示 UI。问题在于此 UI 嵌套在弹出窗口中(没有标题栏和关闭/最小化按钮)。所以我想让一些客户区像标题一样,用户
您能帮我确定 chromium 嵌入式框架(cef)中支持的 ECMAScript 版本吗? 我想使用 ECMAScript 6。 最佳答案 这取决于相应的 Chromium 版本:https://c
我是 CEF 的新手,我正在尝试在 ubuntu 12.04 x64 上创建新的无边界浏览器(仅用于网页查看)。目前我已经尝试过这种方式(gtk 顶级窗口 -> 禁用装饰 -> 将父级设置为以前创建的
我想从我的 exe 文件中嵌入的资源加载 HTML。我在 Windows 8.1 上使用 C++ 和 CEF3。 我看过 this article它似乎正是我要找的东西,但它与 CefSharp 有关
今天我正在尝试使用 cefpython 开发一个 UI,它允许我嵌入一个 web 浏览器并通过 javascript 绑定(bind)与其交互。 我正在使用它在 Windows 平台上进行开发。为此,
我创建一个浏览器: browser = cef.CreateBrowserSync(url=os.path.dirname(os.path.abspath(__file__))+'\\gui.html
有没有办法在 CEF Python 中添加代理身份验证? 我能找到的最佳答案是 here 。问题是代码是用 C# 编写的,我无法将其转换为 Python。 最佳答案 CEF Python 目前不支持引
我们想从 MFC dll (Visual Studio 2015) 中显示一些浏览器窗口。不幸的是,一旦我们卸载 CEF,它就会崩溃。我们发现了非常相似的问题,但从未找到答案。 为了更好地了解问题,我
今天我正在使用 Chromium Embedded Framework 3。 我已设置、编译和执行所有内容。一切正常。 现在我想在呈现所有内容并执行 JavaScript 后读取页面源代码。我还想从离
在 Windows 上,我尝试使用 CEF(Chromium 嵌入式框架)创建一个窗口应用程序,其父窗口是透明的,其子窗口是不透明的(我想要一个圆角和一个指向子窗口中的状态栏)。类似于: 我尝试使用
我有一个包含 2 个标签页的应用程序。应用程序的容器是用 native 代码开发的,CEF 已用于在其中一个选项卡中打开 html 页面。当我从选项卡 1( native )切换到选项卡 2(CEF)
我在虚幻引擎中使用 cefclient。当您在普通的 chrome 浏览器中拖动任何图像时,它会提供图像预览。 但是,当我尝试在 cefclient 中做同样的事情时,它没有工作。所以我尝试下载 ce
我目前有这个正则表达式: ?P\w+)=(?P[a-zA-Z0-9-_:/@. ]+ 输入第 1 行:event=1921;json={"source":"A","location":B":"fold
我是一名优秀的程序员,十分优秀!