Класс QQuickWebEngineScript
Включает возможность внедрения скриптов в движок JavaScript. Подробнее...
| Заголовок: | #include <QQuickWebEngineScript> |
| С момента: | Qt 5.9 |
| Инициализируется: | WebEngineScript |
| Наследует: | QObject |
Открытые типы
| перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| 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 |
- 34 открытых функции унаследовано от QObject
Сигналы
| 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) |
- 2 сигнала унаследовано от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 1 открытая переменная унаследована от QObject
- 10 статические открытые члены унаследованы от QObject
- 9 защищенных функций унаследовано от QObject
- 2 защищенных переменных унаследовано от QObject
Подробное описание
Включает возможность внедрения скриптов в движок JavaScript.
Тип 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/archives/qt-5.11/qquickwebenginescript.html