xxx.h
#pragma once
#include <cef\include\cef_app.h>
#include <cef\include\cef_client.h>
#include <cef\include\cef_command_line.h>
#include <cef\include\cef_load_handler.h>
#include <cef\include\cef_browser_process_handler.h>
#include <cef\include\cef_request_handler.h>
#include <cef\include\cef_resource_request_handler.h>class CCefHandlerImpl:
public CefApp,
public CefClient,
public CefDisplayHandler,
public CefLifeSpanHandler,
public CefLoadHandler,
public CefBrowserProcessHandler,
public CefRequestHandler,
public CefResourceRequestHandler
{ // CefResourceRequestHandler methods
virtual CefResourceRequestHandler::ReturnValue OnBeforeResourceLoad(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
CefRefPtr<CefRequestCallback> callback) override;// CefClient methods: 下面这行很重要,不能少
virtual CefRefPtr<CefRequestHandler> GetRequestHandler() OVERRIDE { return this; }
}
--------------------------------------
xxxx.cpp
CefResourceRequestHandler::ReturnValue CCefHandlerImpl::OnBeforeResourceLoad(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefRequestCallback> callback)
{
OutputDebugStringA("CCefHandlerImpl::OnBeforeResourceLoad \n");
OutputDebugString(frame->GetURL().c_str());
//AfxMessageBox(frame->GetURL().c_str());
return RV_CONTINUE;
}