0.8.355-Interface IWebView2WebView5

Примечание

Эта ссылка больше не поддерживается. Последнюю справку по API можно найти в справочнике по API WebView2.

interface IWebView2WebView5
  : public IWebView2WebView4

Дополнительные функции, реализованные основным объектом WebView.

Краткий обзор

Участников Описания
add_ContainsFullScreenElementChanged Уведомляет об изменении свойства ContainsFullScreenElement.
remove_ContainsFullScreenElementChanged Удалите обработчик событий, добавленный ранее с помощью соответствующего метода события add_.
get_ContainsFullScreenElement Указывает, содержит ли WebView элемент HTML на весь экран.
add_WebResourceRequested Добавьте обработчик событий для события WebResourceRequested.
AddWebResourceRequestedFilter Добавляет в событие WebResourceRequested код URI и фильтр контекста ресурсов.
RemoveWebResourceRequestedFilter Удаляет соответствующий фильтр веб-ресурсов, который ранее был добавлен для события WebResourceRequested.

Вы можете QueryInterface для этого интерфейса из объекта, реализующего IWebView2WebView. Дополнительные сведения вы видите в интерфейсе IWebView2WebView .

Участников

add_ContainsFullScreenElementChanged

Уведомляет об изменении свойства ContainsFullScreenElement.

общедоступные значения HRESULT add_ContainsFullScreenElementChanged(IWebView2ContainsFullScreenElementChangedEventHandler * eventHandler, EventRegistrationToken * token)

Это означает, что HTML-элемент, находящиеся внутри WebView, помещается на размер WebView или выходит за экран. Это событие полезно, если, например, элемент видео запрашивается на весь экран. Прослушиватель ContainsFullScreenElementChanged может затем изменить размер WebView в ответе.

    // Register a handler for the ContainsFullScreenChanged event.
    CHECK_FAILURE(m_webView->add_ContainsFullScreenElementChanged(
        Callback<IWebView2ContainsFullScreenElementChangedEventHandler>(
            [this](IWebView2WebView5* sender, IUnknown* args) -> HRESULT {
                if (m_fullScreenAllowed)
                {
                    CHECK_FAILURE(sender->get_ContainsFullScreenElement(&m_containsFullscreenElement));
                    if (m_containsFullscreenElement)
                    {
                        EnterFullScreen();
                    }
                    else
                    {
                        ExitFullScreen();
                    }
                }
                return S_OK;
            })
            .Get(),
        nullptr));

remove_ContainsFullScreenElementChanged

Удалите обработчик событий, добавленный ранее с помощью соответствующего метода события add_.

общедоступные значения HRESULT remove_ContainsFullScreenElementChanged(маркер EventRegistrationToken)

get_ContainsFullScreenElement

Указывает, содержит ли WebView элемент HTML на весь экран.

общедоступные значения HRESULT get_ContainsFullScreenElement(bool * ContainsFullScreenElement)

add_WebResourceRequested

Добавьте обработчик событий для события WebResourceRequested.

общедоступные значения HRESULT add_WebResourceRequested(IWebView2WebResourceRequestedEventHandler * eventHandler, EventRegistrationToken * token)

Активируется, когда WebView выполняет запрос HTTP к соответствующему URL-адресу и фильтру контекста ресурсов, добавленному с помощью AddWebResourceRequestedFilter. Для срабатывания события необходимо добавить хотя бы один фильтр.

        if (m_blockImages)
        {
            m_webView->AddWebResourceRequestedFilter(L"*", WEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE);
            CHECK_FAILURE(m_webView->add_WebResourceRequested(
                Callback<IWebView2WebResourceRequestedEventHandler>(
                    [this](
                        IWebView2WebView* sender,
                        IWebView2WebResourceRequestedEventArgs* args) {
                        wil::com_ptr<IWebView2WebResourceRequestedEventArgs2>
                            webResourceEventArgs2;
                        args->QueryInterface(IID_PPV_ARGS(&webResourceEventArgs2));
                        WEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext;
                        CHECK_FAILURE(
                            webResourceEventArgs2->get_ResourceContext(&resourceContext));
                        // Ensure that the type is image
                        if (resourceContext != WEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE)
                        {
                            return E_INVALIDARG;
                        }
                        // Override the response with an empty one to block the image.
                        // If put_Response is not called, the request will continue as normal.
                        wil::com_ptr<IWebView2WebResourceResponse> response;
                        CHECK_FAILURE(m_webViewEnvironment->CreateWebResourceResponse(
                            nullptr, 403 /*NoContent*/, L"Blocked", L"", &response));
                        CHECK_FAILURE(args->put_Response(response.get()));
                        return S_OK;
                    })
                    .Get(),
                &m_webResourceRequestedTokenForImageBlocking));
        }
        else
        {
            CHECK_FAILURE(m_webView->remove_WebResourceRequested(
                m_webResourceRequestedTokenForImageBlocking));
        }

AddWebResourceRequestedFilter

Добавляет в событие WebResourceRequested код URI и фильтр контекста ресурсов.

общедоступный HRESULT AddWebResourceRequestedFilter(LPCWSTR const uri,WEBVIEW2_WEB_RESOURCE_CONTEXT const разделе ResourceContext)

Параметр URI может быть строкой с подстановочными знаками ("": ноль или больше; "?": только один). nullptr эквивалентен L "". Описание фильтров контекста ресурсов приведено в разделе WEBVIEW2_WEB_RESOURCE_CONTEXT перечисление.

RemoveWebResourceRequestedFilter

Удаляет соответствующий фильтр веб-ресурсов, который ранее был добавлен для события WebResourceRequested.

общедоступный HRESULT RemoveWebResourceRequestedFilter(LPCWSTR const uri,WEBVIEW2_WEB_RESOURCE_CONTEXT const разделе ResourceContext)

Если один и тот же фильтр был добавлен несколько значений, его необходимо будет удалить столько, сколько вхождений было добавлено для эффективного. Возвращает E_INVALIDARG для фильтра, который еще не был добавлен.