Класс QWebEngineScript
Класс QWebEngineScript инкапсулирует JavaScript-программу. Подробнее...
| Заголовок: | #include <QWebEngineScript> |
| qmake: | QT += webenginewidgets |
| С тех пор: | Qt 5.5 |
Этот класс был представлен в Qt 5.5.
Открытые типы
| перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Открытые функции
| QWebEngineScript(const QWebEngineScript &other) | |
| QWebEngineScript() | |
| QWebEngineScript & | operator=(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 |
| bool | operator==(const QWebEngineScript &other) const |
Подробное описание
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(const QWebEngineScript &other)
Создает пользовательский скрипт, используя содержимое other.
QWebEngineScript::QWebEngineScript()
Создает пустой скрипт.
QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
Присваивает other скрипту.
QWebEngineScript::~QWebEngineScript()
Удаляет скрипт.
QWebEngineScript::InjectionPoint QWebEngineScript::injectionPoint() const
Возвращает момент в процессе загрузки, в котором будет выполнен скрипт. Значение по умолчанию — QWebEngineScript::Deferred.
См. также setInjectionPoint().
bool QWebEngineScript::isNull() const
Возвращает true, если скрипт пустой; в противном случае возвращает 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.
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.14/qwebenginescript.html