Класс 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.15/qquickwebenginescript.html