Класс QWebEngineScript
Класс QWebEngineScript инкапсулирует программу на языке JavaScript. Подробнее...
| Заголовок: | #include <QWebEngineScript> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.5 |
Типы публичного доступа
| перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Функции публичного доступа
| QWebEngineScript() | |
| QWebEngineScript(const QWebEngineScript &other) | |
| ~QWebEngineScript() | |
| QWebEngineScript::InjectionPoint | injectionPoint() const |
| bool | isNull() const |
| QString | name() const |
| bool | runsOnSubFrames() const |
| void | setInjectionPoint(QWebEngineScript::InjectionPoint p) |
| void | setName(const QString &scriptName) |
| void | setRunsOnSubFrames(bool on) |
| void | setSourceCode(const QString &scriptSource) |
| void | setWorldId(quint32 id) |
| QString | sourceCode() const |
| void | swap(QWebEngineScript &other) |
| quint32 | worldId() const |
| bool | operator!=(const QWebEngineScript &other) const |
| QWebEngineScript & | operator=(const QWebEngineScript &other) |
| bool | operator==(const QWebEngineScript &other) const |
Подробное описание
Класс QWebEngineScript инкапсулирует программу на языке JavaScript.
QWebEngineScript позволяет программно вводить так называемые пользовательские скрипты в движок JavaScript в различные моменты, определяемые injectionPoint(), во время загрузки веб-содержимого.
Скрипты могут выполняться либо в основном JavaScript-мире вместе со всем JavaScript, поступающим из веб-содержимого, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. ScriptWorldId предоставляет некоторые предопределённые идентификаторы для этой цели.
Следующие атрибуты Greasemonkey поддерживаются с Qt 5.8: @exclude, @include, @name, @match, и @run-at.
Используйте QWebEnginePage::scripts() и QWebEngineProfile::scripts(), чтобы получить доступ к коллекции скриптов, связанных с одной страницей или несколькими страницами, использующими один и тот же профиль.
Документация по типам членов
перечисление QWebEngineScript::InjectionPoint
Это перечисление описывает момент выполнения скрипта:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineScript::DocumentCreation |
2 |
Скрипт выполнится, как только документ будет создан. Это не подходит для операций с DOM. |
QWebEngineScript::DocumentReady |
1 |
Скрипт выполнится, как только DOM будет готов. Это эквивалентно срабатыванию события DOMContentLoaded в JavaScript. |
QWebEngineScript::Deferred |
0 |
Скрипт выполнится по завершении загрузки страницы или через 500мс после готовности документа, что произойдёт раньше. |
перечисление QWebEngineScript::ScriptWorldId
Это перечисление предоставляет предопределённые идентификаторы мира для изоляции пользовательских скриптов в разных мирах:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineScript::MainWorld |
0 |
Мир, используемый веб-содержимым страницы. Может быть полезен для экспонирования пользовательских функций для веб-содержимого в определённых сценариях. |
QWebEngineScript::ApplicationWorld |
1 |
По умолчанию изолированный мир, используемый для функциональности на уровне приложения, реализованной на JavaScript. |
QWebEngineScript::UserWorld |
2 |
Первый изолированный мир, который будет использоваться скриптами, заданными пользователями, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждый отдельный скрипт, вероятно, должен иметь свой собственный изолированный мир. |
Документация по функциям членов
QWebEngineScript::QWebEngineScript()
Создаёт нулевой скрипт.
QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)
Создаёт пользовательский скрипт, используя содержимое other.
QWebEngineScript::~QWebEngineScript()
Удаляет скрипт.
QWebEngineScript::InjectionPoint QWebEngineScript::injectionPoint() const
Возвращает момент выполнения скрипта во время загрузки. Значение по умолчанию — QWebEngineScript::Deferred.
См. также setInjectionPoint().
bool QWebEngineScript::isNull() const
Возвращает true если скрипт равен null; в противном случае возвращает false.
QString QWebEngineScript::name() const
Возвращает имя скрипта. Может быть полезно для извлечения определенного скрипта из QWebEngineScriptCollection.
См. также setName(), QWebEngineScriptCollection::findScript() и QWebEngineScriptCollection::findScripts().
bool QWebEngineScript::runsOnSubFrames() const
Возвращает true если скрипт выполняется на каждой вкладке в странице, или false если он выполняется только для главной вкладки.
См. также setRunsOnSubFrames().
void QWebEngineScript::setInjectionPoint(QWebEngineScript::InjectionPoint p)
Устанавливает момент выполнения скрипта в p.
См. также injectionPoint() и InjectionPoint.
void QWebEngineScript::setName(const QString &scriptName)
Устанавливает имя скрипта в scriptName.
См. также name().
void QWebEngineScript::setRunsOnSubFrames(bool on)
Выполняет скрипт на подкадрах помимо основного кадра, если on возвращает true.
См. также runsOnSubFrames().
void QWebEngineScript::setSourceCode(const QString &scriptSource)
Устанавливает исходный код скрипта на scriptSource.
См. также sourceCode().
void QWebEngineScript::setWorldId(quint32 id)
Устанавливает идентификатор мира изолированного мира на id при выполнении этого скрипта.
Должно быть между 0 и 256.
См. также worldId().
QString QWebEngineScript::sourceCode() const
Возвращает исходный код скрипта.
См. также setSourceCode().
void QWebEngineScript::swap(QWebEngineScript &other)
Меняет содержимое скрипта с содержимым other.
quint32 QWebEngineScript::worldId() const
Возвращает идентификатор мира, определяющий мир, в котором выполняется скрипт.
См. также setWorldId().
bool QWebEngineScript::operator!=(const QWebEngineScript &other) const
Возвращает true, если скрипт не равен other, в противном случае возвращает false.
QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
Присваивает other скрипту.
bool QWebEngineScript::operator==(const QWebEngineScript &other) const
Возвращает true, если скрипт равен other, в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qwebenginescript.html