Класс 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, если скрипт равен 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.
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.13/qwebenginescript.html