Класс QQuickWebEngineScript
Позволяет вставлять скрипты в движок JavaScript. Подробнее...
| Заголовок: | #include <QQuickWebEngineScript> |
| С момента: | Qt 5.9 |
| Инициализируется: | WebEngineScript |
| Наследует: | QObject |
Этот класс был введён в Qt 5.9.
Публичные типы
| Перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| Перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Свойства
|
|
Публичные функции
| 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.14/qquickwebenginescript.html