Класс QWebEngineUrlScheme
Класс QWebEngineUrlScheme настраивает пользовательскую схему URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlScheme> |
| С тех пор: | Qt 5.12 |
Типы публичных данных
| перечисление | Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ..., ContentSecurityPolicyIgnored } |
| флаги | Flags |
| перечисление | SpecialPort { PortUnspecified } |
| перечисление | Syntax { HostPortAndUserInformation, HostAndPort, Host, Path } |
Публичные функции
| QWebEngineUrlScheme() | |
| QWebEngineUrlScheme(const QByteArray &name) | |
| QWebEngineUrlScheme(const QWebEngineUrlScheme &that) | |
| QWebEngineUrlScheme(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 |
| QWebEngineUrlScheme & | operator=(const QWebEngineUrlScheme &that) |
| QWebEngineUrlScheme & | operator=(QWebEngineUrlScheme &&that) |
| bool | operator==(const QWebEngineUrlScheme &that) const |
Статические публичные члены
| void | registerScheme(const QWebEngineUrlScheme &scheme) |
| QWebEngineUrlScheme | schemeByName(const QByteArray &name) |
| const QMetaObject | staticMetaObject |
Подробное описание
Класс QWebEngineUrlScheme настраивает пользовательскую схему URL.
Схема 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 Служебных работников должно быть включено. |
QWebEngineUrlScheme::ViewSourceAllowed |
0x20 |
Указывает, что функция просмотра исходного кода должна быть включена. |
QWebEngineUrlScheme::ContentSecurityPolicyIgnored |
0x40 |
Указывает, что доступ к этой схеме должен игнорировать все проверки Content-Security-Policy. |
Тип Flags является псевдонимом для QFlags<Flag>. Он хранит логическое ИЛИ комбинацию значений Flag.
перечисление QWebEngineUrlScheme::SpecialPort
Этот тип перечисления определяет специальные значения для defaultPort.
| Константа | Значение | Описание |
|---|---|---|
QWebEngineUrlScheme::PortUnspecified |
-1 |
Указывает, что схема URL не имеет элемента порта. |
перечисление QWebEngineUrlScheme::Syntax
Этот тип перечисления содержит типы синтаксиса URL.
Для применения политики одинакового источника к пользовательской схеме URL, WebEngine должен быть способен вычислить источник (комбинацию имени хоста и порта) URL. Опции Host... указывают, что схема URL соответствует стандартному синтаксису URL (например, http) и автоматически включают политику одинакового источника. Опция Path указывает, что схема URL использует нестандартный синтаксис и политика одинакового источника не может быть применена.
| Константа | Значение | Описание |
|---|---|---|
QWebEngineUrlScheme::HostPortAndUserInformation |
0 |
Компонент "авторизация" URL данного типа содержит все стандартные элементы: хост, порт, имя пользователя и пароль. URL без порта будет использовать по умолчанию (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::HostAndPort |
1 |
Компонент "авторизация" URL данного типа содержит только хост и порт. URL без порта будет использовать по умолчанию (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::Host |
2 |
Компонент "авторизация" URL данного типа содержит только хост и не содержит порт. По умолчанию обязательно должен быть установлен в PortUnspecified. |
QWebEngineUrlScheme::Path |
3 |
URL данного типа не имеет компонента "авторизация". Всё после имени схемы и разделителя (:) будет сохранено без проверки или канонизации. Все URL такой схемы будут считаться имеющими одинаковый источник (если не используется флаг NoAccessAllowed). |
Документация по функциям-членам
QWebEngineUrlScheme::QWebEngineUrlScheme()
Создаёт схему URL движка веб-приложения со значениями по умолчанию.
QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)
Создаёт схему URL движка веб-приложения с заданным именем name.
QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)
Копирует that.
QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)
Перемещает that.
QWebEngineUrlScheme::~QWebEngineUrlScheme()
Удаляет этот объект.
int QWebEngineUrlScheme::defaultPort() const
Возвращает порт по умолчанию для этой схемы URL.
Значение по умолчанию — PortUnspecified.
См. также setDefaultPort().
QWebEngineUrlScheme::Flags QWebEngineUrlScheme::flags() const
Возвращает флаги для этой схемы URL.
Значение по умолчанию — пустой набор флагов.
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.
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 объекты не равны.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)
Копирует that.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)
Перемещает 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.12/qwebengineurlscheme.html