Класс QWebEngineUrlScheme
Класс QWebEngineUrlScheme настраивает пользовательскую схему URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlScheme> |
| С тех пор: | Qt 5.12 |
Этот класс был представлен в Qt 5.12.
Типы public
| перечисление | Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ..., ContentSecurityPolicyIgnored } |
| флаги | Flags |
| перечисление | SpecialPort { PortUnspecified } |
| перечисление | Syntax { HostPortAndUserInformation, HostAndPort, Host, Path } |
Функции public
| 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 |
Статические public члены
| 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. |
Тип 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 без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::HostAndPort |
1 |
Компонент авторизации URL данного типа содержит только элементы хост и порт. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::Host |
2 |
Компонент авторизации URL данного типа содержит только часть хоста и не имеет порта. defaultPort обязательно должен быть установлен в PortUnspecified. |
QWebEngineUrlScheme::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.
Значение по умолчанию — пустой набор флагов.
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.
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.13/qwebengineurlscheme.html