Spec-Zone.ru › Qt 5.15

Класс 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.15/qwebenginescript.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API