gpt4 book ai didi

javascript - Rg。 OnWebKitInitialized 未被调用

转载 作者:行者123 更新时间:2023-11-28 02:28:13 25 4
gpt4 key购买 nike

尊敬的 Javascript 用户,

我正在使用 CEF 将 JS 与 C++ 绑定(bind)。我遇到了根本没有调用 OnWebKitInitialized 的问题。 native 代码绑定(bind)完全取决于此回调(如果我错了请纠正我。但是 JS 可以调用 C++ 的唯一方法是通过此 OnWebKitInitialized 和 Execute 方法)。

这是初始化过程的伪代码:

 void OnInit(){
HINSTANCE instance = wxGetInstance();
CefMainArgs main_args(instance);

CefRefPtr<CefApp> app = new MainHandler();
int exit_code = CefExecuteProcess(main_args, app, nullptr);
if (exit_code >= 0) {
// The sub-process has completed so return here.
return false;
}

// Specify CEF global settings here.
CefSettings settings;
settings.no_sandbox = true;
settings.multi_threaded_message_loop = true;


settings.ignore_certificate_errors = true;

// Initialize CEF.
CefInitialize(main_args, settings, app, nullptr);

然后在 MainHandle 类中:

class MainHandle :  public CefApp, public CefBrowserProcessHandler, public CefRenderProcessHandler
{

virtual OnContextCreated //full syntax
virtual void OnContextInitialized() override;
virtual void OnWebKitInitialized();
void OnRenderProcessThreadCreated(CefRefPtr<CefListValue> extra_info) ;

..other related code
}

这里调用了 OnContextInitialized 和 OnRenderProcessThreadCreated,因为 MainHandle 是浏览器进程处理程序的子类。但是没有调用渲染进程处理程序回调。

有人知道如何调用 OnWebKitInitialized 吗?或者上面的代码是否有问题可能会阻碍回调调用?

最佳答案

找到解决方案。

http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=12909

引用成员(member)回答:

OnWebKitInitialized and other CefRenderProcessHandler methods are called in the renderer process. You need to implement "CefApp::GetRenderProcessHandler()" and pass the CefApp instance to CefExecuteProcess().

关于javascript - Rg。 OnWebKitInitialized 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29809593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com