Класс QQuickWebEngineScript
Позволяет встраивать скрипты в движок JavaScript. Подробнее...
| Заголовок: | #include <QQuickWebEngineScript> |
| С момента: | Qt 5.9 |
| Инициализируется: | WebEngineScript |
| Наследует: | QObject |
Этот класс был введён в Qt 5.9.
Открытые типы
| перечисление | InjectionPoint { Создание документа, Документ готов, Отложенный } |
| перечисление | ScriptWorldId { Основной мир, Мир приложения, Мир пользователя } |
Свойства
|
|
Открытые функции
| QQuickWebEngineScript(QObject *parent = Q_NULLPTR) | |
| QQuickWebEngineScript::InjectionPoint | injectionPoint() const |
| QString | name() const |
| bool | runOnSubframes() const |
| void | setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint) |
| void | setName(const QString &name) |
| void | setRunOnSubframes(bool on) |
| void | setSourceCode(const QString &code) |
| void | setSourceUrl(const QUrl &url) |
| void | setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId) |
| QString | sourceCode() const |
| QUrl | sourceUrl() const |
| QString | toString() const |
| QQuickWebEngineScript::ScriptWorldId | worldId() const |
Сигналы
| void | injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint) |
| void | nameChanged(const QString &name) |
| void | runOnSubframesChanged(bool on) |
| void | sourceCodeChanged(const QString &code) |
| void | sourceUrlChanged(const QUrl &url) |
| void | worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId) |
Подробное описание
Тип QQuickWebEngineScript позволяет программно встраивать так называемые пользовательские скрипты в движок JavaScript в разные моменты, определяемые свойством injectionPoint, во время загрузки веб-контента.
Скрипты могут выполняться либо в основном мире JavaScript, вместе со всем остальным JavaScript, поступающим от веб-контента, либо в собственном изолированном мире. Хотя DOM страницы можно получить из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. Свойство worldId предоставляет некоторые предопределённые идентификаторы для этой цели.
Документация по типам членов
перечисление QQuickWebEngineScript::InjectionPoint
Точка в процессе загрузки, в которой будет выполняться скрипт.
| Константа | Значение | Описание |
|---|---|---|
QQuickWebEngineScript::DocumentCreation |
2 |
Скрипт будет выполнен как только документ будет создан. Это не подходит для любых операций с DOM. |
QQuickWebEngineScript::DocumentReady |
1 |
Скрипт будет выполнен, как только DOM будет готов. Это эквивалентно событию DOMContentLoaded в JavaScript. |
QQuickWebEngineScript::Deferred |
0 |
Скрипт будет выполнен по завершении загрузки страницы или через 500 мс после готовности документа, в зависимости от того, что произойдёт раньше. |
перечисление QQuickWebEngineScript::ScriptWorldId
ИД мира, определяющий, в каком изолированном мире выполняется скрипт. Помимо этих предопределённых ИД можно использовать пользовательские, но они должны быть целыми числами от 0 до 256.
| Константа | Значение | Описание |
|---|---|---|
QQuickWebEngineScript::MainWorld |
0 |
Мир, используемый веб-контентом страницы. Это может быть полезно для экспонирования пользовательских функций веб-контенту в определённых сценариях. |
QQuickWebEngineScript::ApplicationWorld |
1 |
Стандартный изолированный мир, используемый для функциональности на уровне приложения, реализованной в JavaScript. |
QQuickWebEngineScript::UserWorld |
2 |
Первый изолированный мир, который будут использовать скрипты, установленные пользователями, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждый отдельный скрипт, вероятно, должен иметь свой собственный изолированный мир. |
Документация свойств
injectionPoint : InjectionPoint
Это свойство содержит момент в процессе загрузки, в котором будет выполняться скрипт.
Значение по умолчанию равно Deferred.
Функции доступа:
| QQuickWebEngineScript::InjectionPoint | injectionPoint() const | |
| void | setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint) |
name : QString
Это свойство содержит имя скрипта.
Может быть полезно для извлечения определенного скрипта из QQuickWebEngineProfile::userScripts.
Функции доступа:
| QString | name() const | |
| void | setName(const QString &name) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | nameChanged(const QString &name) |
runOnSubframes : bool
Это свойство указывает, выполняется ли скрипт на каждом фрейме или только на главном.
Установите это свойство в true , если скрипт выполняется на каждом фрейме страницы, или в false , если он выполняется только для главного фрейма. Значение по умолчанию равно false.
Функции доступа:
| bool | runOnSubframes() const | |
| void | setRunOnSubframes(bool on) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | runOnSubframesChanged(bool on) |
sourceCode : QString
Это свойство содержит исходный код JavaScript пользовательского скрипта.
Функции доступа:
| QString | sourceCode() const | |
| void | setSourceCode(const QString &code) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | sourceCodeChanged(const QString &code) |
См. также QQuickWebEngineScript::sourceUrl.
sourceUrl : QUrl
Это свойство содержит удаленное местоположение источника пользовательского скрипта (если таковое имеется).
В отличие от sourceCode, это свойство позволяет ссылаться на пользовательские скрипты, которые ещё не загружены в память, например, когда они хранятся на диске.
Установка этого свойства изменит sourceCode скрипта.
Примечание: В настоящее время поддерживаются только источники на основе файлов.
Функции доступа:
| QUrl | sourceUrl() const | |
| void | setSourceUrl(const QUrl &url) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | sourceUrlChanged(const QUrl &url) |
См. также QQuickWebEngineScript::sourceCode.
worldId : ScriptWorldId
Это свойство содержит идентификатор мира, определяющий изолированный мир, в котором выполняется скрипт.
Функции доступа:
| QQuickWebEngineScript::ScriptWorldId | worldId() const | |
| void | setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId) | [см. примечание ниже] |
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Сигнал уведомления:
| void | worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId) |
Документация по членам-функциям
QQuickWebEngineScript::QQuickWebEngineScript(QObject *parent = Q_NULLPTR)
Создает новый QQuickWebEngineScript с родителем parent.
QString QQuickWebEngineScript::toString() const
Возвращает объект скрипта в виде строки.
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qquickwebenginescript.html