isContextCreated = false后 OnContextCreated页不会执行啊
数字工匠 发布于:2024-01-14 19:01:35
对不起,我之前的回答有误。在 CefClient 中,OnContextCreated 方法只会在浏览器窗口创建时被调用一次,之后不会再次执行。
如果你需要在浏览器窗口已创建后重新执行一些操作,可以考虑使用其他方法,例如在 OnLoadEnd 方法中执行你想要的操作。OnLoadEnd 方法会在页面加载完成后被调用,可以在此方法中注入 JavaScript 代码或执行其他逻辑。
以下是一个示例:
class MyCefClient : public CefClient {
public:
void OnLoadEnd(CefRefPtr browser, CefRefPtr frame, int httpStatusCode) override {
if (frame->IsMain()) {
// 执行你想要的操作,例如注入 JavaScript 代码
frame->ExecuteJavaScript(\"console.log('OnLoadEnd executed');\", frame->GetURL(), 0);
}
}
};
在上述示例中,我们重写了 OnLoadEnd 方法,在主框架加载完成后执行了一段 JavaScript 代码。你可以根据需要在此方法中执行你想要的操作。
请注意,OnLoadEnd 方法会在每次页面加载完成后被调用,因此如果你需要在特定情况下执行操作,可能需要添加一些条件判断。