Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
This reference is no longer being maintained. For the latest API reference, see WebView2 API Reference.
interface ICoreWebView2Frame7
: public ICoreWebView2Frame6
This is the ICoreWebView2Frame interface to support tracking of nested iframes.
Summary
Members | Descriptions |
---|---|
add_FrameCreated | Adds an event handler for the FrameCreated event. |
remove_FrameCreated | Removes an event handler previously added with add_FrameCreated . |
Applies to
Product | Introduced |
---|---|
WebView2 Win32 | 1.0.3240.44 |
WebView2 Win32 Prerelease | 1.0.3230 |
Members
add_FrameCreated
Adds an event handler for the FrameCreated
event.
public HRESULT add_FrameCreated(ICoreWebView2FrameChildFrameCreatedEventHandler * eventHandler, EventRegistrationToken * token)
Raised when a new direct descendant iframe is created. Handle this event to get access to ICoreWebView2Frame objects. Use ICoreWebView2Frame.add_Destroyed to listen for when this iframe goes away.
frame7->add_FrameCreated(
Callback<ICoreWebView2FrameChildFrameCreatedEventHandler>(
[this, depth](
ICoreWebView2Frame* sender,
ICoreWebView2FrameCreatedEventArgs* args) noexcept -> HRESULT
{
wil::com_ptr<ICoreWebView2Frame> webviewFrame;
CHECK_FAILURE(args->get_Frame(&webviewFrame));
wil::unique_cotaskmem_string name;
CHECK_FAILURE(webviewFrame->get_Name(&name));
InitializeFrameEventView(webviewFrame, depth + 1);
std::wstring message = L"{ \"kind\": \"event\", \"name\": "
L"\"CoreWebView2Frame::FrameCreated\", \"args\": {";
message += L"\"frame name\": " + EncodeQuote(name.get());
message += L",\"depth\": " + std::to_wstring(depth);
auto frame5 = webviewFrame.try_query<ICoreWebView2Frame5>();
UINT32 frameId = 0;
if (frame5)
{
CHECK_FAILURE(frame5->get_FrameId(&frameId));
message += L",\"webview frame id\": " + std::to_wstring((int)frameId);
}
frame5 = wil::try_com_query<ICoreWebView2Frame5>(sender);
if (frame5)
{
CHECK_FAILURE(frame5->get_FrameId(&frameId));
message +=
L",\"sender webview frame id\": " + std::to_wstring((int)frameId);
}
message +=
L"}" + WebViewPropertiesToJsonString(m_webviewEventSource.get()) + L"}";
PostEventMessage(message);
return S_OK;
})
.Get(),
&m_frameCreatedToken);
remove_FrameCreated
Removes an event handler previously added with add_FrameCreated
.
public HRESULT remove_FrameCreated(EventRegistrationToken token)