Spec-Zone.ru › Qt 5.15

Класс QWebEngineUrlScheme

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

Заголовок: #include <QWebEngineUrlScheme>
С тех пор: Qt 5.12

Этот класс был представлен в 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.

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

См. также Flags и 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 и flags().

void QWebEngineUrlScheme::setName(const QByteArray &newValue)

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

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

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

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

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

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

QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const

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

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

См. также Syntax и 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-5.15/qwebengineurlscheme.html

Spec-Zone.ru

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