Spec-Zone.ru › Qt

Класс QWebEngineUrlScheme

Класс QWebEngineUrlScheme настраивает пользовательскую схему URL. Подробнее...

Заголовок: #include <QWebEngineUrlScheme>
CMake: find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
С момента: Qt 5.12
  • Список всех членов, включая унаследованные

Открытые типы

перечисление Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ServiceWorkersAllowed, …, CorsEnabled }
флаги Flags
перечисление SpecialPort { PortUnspecified }
перечисление Syntax { HostPortAndUserInformation, HostAndPort, Host, Path }

Открытые функции

QWebEngineUrlScheme(QWebEngineUrlScheme &&that)
QWebEngineUrlScheme(const QWebEngineUrlScheme &that)
QWebEngineUrlScheme(const QByteArray &name)
QWebEngineUrlScheme()
QWebEngineUrlScheme & operator=(QWebEngineUrlScheme &&that)
QWebEngineUrlScheme & operator=(const QWebEngineUrlScheme &that)
~QWebEngineUrlScheme()
int defaultPort() const
QWebEngineUrlScheme::Flags flags() const
QByteArray name() const
void setDefaultPort(int newValue)
void setFlags(QWebEngineUrlScheme::Flags newValue)
void setName(const QByteArray &newValue)
void setSyntax(QWebEngineUrlScheme::Syntax newValue)
QWebEngineUrlScheme::Syntax syntax() const
bool operator!=(const QWebEngineUrlScheme &that) const
bool operator==(const QWebEngineUrlScheme &that) const

Статические открытые члены

void registerScheme(const QWebEngineUrlScheme &scheme)
QWebEngineUrlScheme schemeByName(const QByteArray &name)

Подробное описание

Схема URL веб-движка описывает схему URL с точки зрения веб-движка, указывая, как должны анализироваться URL-адреса этой схемы, и какие ограничения безопасности должны быть наложены на ресурсы, исходящие из таких URL-адресов.

Пользовательские схемы URL должны быть настроены на ранней стадии запуска приложения, до создания любых классов Qt WebEngine. Как правило, это означает, что схемы необходимо настроить до создания экземпляра QGuiApplication или QApplication.

Каждая зарегистрированная конфигурация схемы применяется глобально ко всем профилям.

int main(int argc, char **argv)
{
    QWebEngineUrlScheme scheme("myscheme");
    scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort);
    scheme.setDefaultPort(2345);
    scheme.setFlags(QWebEngineUrlScheme::SecureScheme);
    QWebEngineUrlScheme::registerScheme(scheme);
    ...
}

Чтобы фактически использовать пользовательскую схему URL, необходимо создать QWebEngineUrlSchemeHandler и зарегистрировать его в профиле.

См. также QWebEngineUrlSchemeHandler.

Документация по типам членов

перечисление QWebEngineUrlScheme::Flagфлаги QWebEngineUrlScheme::Flags

Этот тип перечисления определяет параметры безопасности, которые должны применяться к схеме URL.

Константа Значение Описание
QWebEngineUrlScheme::SecureScheme 0x1 Указывает, что схема URL является потенциально надёжной. Этот флаг следует применять только к схемам URL, которые обеспечивают подлинность, конфиденциальность и целостность данных, либо с помощью шифрования, либо другими средствами. Примеры безопасных встроенных схем включают https (аутентифицированные и зашифрованные) и qrc (только локальные ресурсы), в то время как http является примером небезопасной схемы.
QWebEngineUrlScheme::LocalScheme 0x2 Указывает, что схема URL предоставляет доступ к локальным ресурсам. Цель этого флага — предотвратить доступ сетевому контенту к локальным ресурсам. Только схемы с флагом LocalAccessAllowed могут загружать ресурсы из схемы с флагом Local. Единственные встроенные схемы с этим флагом — file и qrc.
QWebEngineUrlScheme::LocalAccessAllowed 0x4 Указывает, что контент из этой схемы должен иметь разрешение на загрузку ресурсов из схем с флагом Local.
QWebEngineUrlScheme::NoAccessAllowed 0x8 Указывает, что весь контент из этой схемы должен быть принудительно иметь уникальные непрозрачные источники: ни у двух ресурсов не будет одинакового источника.
QWebEngineUrlScheme::ServiceWorkersAllowed 0x10 Указывает, что должен быть включён API Service Workers.
QWebEngineUrlScheme::ViewSourceAllowed 0x20 Указывает, что должна быть включена функция «Просмотреть исходный код».
QWebEngineUrlScheme::ContentSecurityPolicyIgnored 0x40 Указывает, что доступ к этой схеме должен обходить все проверки Content-Security-Policy.
QWebEngineUrlScheme::CorsEnabled 0x80 Включает совместное использование ресурсов между разными источниками (CORS) для этой схемы. Этот флаг необходим, например, для использования схемы с API Fetch или для доставки шрифтов CSS в другой источник. Соответствующие заголовки CORS автоматически генерируются классом QWebEngineUrlRequestJob. (Добавлен в Qt 5.14)

Тип Flags является псевдонимом для QFlags<Flag>. Он хранит результат побитового ИЛИ флагов типа Flag.

перечисление QWebEngineUrlScheme::SpecialPort

Этот тип перечисления определяет специальные значения для defaultPort.

Константа Значение Описание
QWebEngineUrlScheme::PortUnspecified -1 Указывает, что схема URL не имеет элемента порта.

перечисление QWebEngineUrlScheme::Syntax

Этот тип перечисления перечисляет типы синтаксиса URL.

Чтобы применить политику «одинаковый источник» к пользовательской схеме URL, WebEngine должен уметь вычислять источник (комбинацию хоста и порта) URL. Опции Host... указывают, что схема URL соответствует стандартному синтаксису URL (например, http) и автоматически включают политику «одинаковый источник». Опция Path указывает, что схема URL использует нестандартный синтаксис, и политика «одинаковый источник» не может быть применена.

Константа Значение Описание
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation 0 Компонент авторизации URL этого типа содержит все стандартные элементы: хост, порт, имя пользователя и пароль. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified).
QWebEngineUrlScheme::Syntax::HostAndPort 1 Компонент авторизации URL этого типа содержит только элементы хост и порт. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified).
QWebEngineUrlScheme::Syntax::Host 2 Компонент авторизации URL этого типа содержит только часть хоста и не имеет порта. defaultPort обязательно должен быть установлен в PortUnspecified.
QWebEngineUrlScheme::Syntax::Path 3 URL этого типа не имеет компонента авторизации вообще. Всё после имени схемы и разделителя (:) будет сохранено как есть без проверки или канонизации. Все URL такой схемы будут считаться имеющими одинаковое происхождение (если не используется флаг NoAccessAllowed).

Документация функций-членов

QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)

Перемещает that.

QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)

Копирует that.

QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)

Создаёт схему URL веб-движка с заданным именем name.

QWebEngineUrlScheme::QWebEngineUrlScheme()

Создаёт схему URL веб-движка со значениями по умолчанию.

QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)

Перемещает that.

QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)

Копирует that.

QWebEngineUrlScheme::~QWebEngineUrlScheme()

Деструктор этого объекта.

int QWebEngineUrlScheme::defaultPort() const

Возвращает порт по умолчанию для этой схемы URL.

Значение по умолчанию — PortUnspecified.

См. также setDefaultPort().

QWebEngineUrlScheme::Flags QWebEngineUrlScheme::flags() const

Возвращает флаги для этой схемы URL.

Значение по умолчанию — пустой набор флагов.

См. также Флаги и setFlags().

QByteArray QWebEngineUrlScheme::name() const

Возвращает имя этой схемы URL.

Значение по умолчанию — пустая строка.

См. также setName().

[static] void QWebEngineUrlScheme::registerScheme(const QWebEngineUrlScheme &scheme)

Регистрирует scheme в парсере URL и модели безопасности веб-движка.

Рекомендуется регистрировать все пользовательские схемы URL с помощью этой функции при запуске приложения, даже если нужно использовать значения по умолчанию.

Предупреждение: Эта функция должна быть вызвана на ранней стадии запуска приложения, до создания любых классов WebEngine.

См. также schemeByName().

[static] QWebEngineUrlScheme QWebEngineUrlScheme::schemeByName(const QByteArray &name)

Возвращает схему URL веб-движка с заданным именем name или схему по умолчанию.

См. также registerScheme().

void QWebEngineUrlScheme::setDefaultPort(int newValue)

Устанавливает порт по умолчанию для этой схемы URL в newValue.

См. также defaultPort().

void QWebEngineUrlScheme::setFlags(QWebEngineUrlScheme::Flags newValue)

Устанавливает флаги для этой схемы URL в newValue.

См. также Флаги и flags().

void QWebEngineUrlScheme::setName(const QByteArray &newValue)

Устанавливает имя этой схемы URL в newValue.

Примечание: Имя автоматически преобразуется в нижний регистр.

См. также name().

void QWebEngineUrlScheme::setSyntax(QWebEngineUrlScheme::Syntax newValue)

Устанавливает тип синтаксиса этой схемы URL в newValue.

См. также Синтаксис и syntax().

QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const

Возвращает тип синтаксиса этой схемы URL.

Значение по умолчанию — Path.

См. также Синтаксис и setSyntax().

bool QWebEngineUrlScheme::operator!=(const QWebEngineUrlScheme &that) const

Возвращает true, если этот и that объекты не равны.

bool QWebEngineUrlScheme::operator==(const QWebEngineUrlScheme &that) const

Возвращает true, если этот и that объекты равны.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebengineurlscheme.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API