Тип QML WebEngineScript
Позволяет программно внедрять скрипты в движок JavaScript. Подробнее...
| Оператор импорта: | import QtWebEngine 1.8 |
| С момента: | QtWebEngine 1.1 |
| Инициализирует: | QQuickWebEngineScript |
Свойства
- injectionPoint : перечисление
- name : строка
- runOnSubframes : целое число
- sourceCode : строка
- sourceUrl : url
- worldId : перечисление
Подробное описание
Тип WebEngineScript позволяет программно внедрять так называемые пользовательские скрипты в движок JavaScript в различные моменты, определяемые свойством injectionPoint, во время загрузки веб-контента.
Скрипты могут выполняться либо в основном мире JavaScript, вместе со всем JavaScript, поступающим из веб-контента, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. Свойство worldId предоставляет некоторые предопределённые идентификаторы для этой цели.
Следующие атрибуты Greasemonkey поддерживаются с Qt 5.8: @exclude, @include, @name, @match, и @run-at.
Используйте WebEngineView.userScripts для доступа к списку скриптов, присоединённых к представлению веб-страницы.
Документация свойств
injectionPoint : перечисление
Точка в процессе загрузки, в которой будет выполняться скрипт. Значение по умолчанию — Deferred.
| Константа | Описание |
|---|---|
WebEngineScript.DocumentCreation |
Скрипт будет выполнен сразу после создания документа. Это не подходит для любых операций с DOM. |
WebEngineScript.DocumentReady |
Скрипт выполнится, как только DOM будет готов. Это эквивалентно срабатыванию события DOMContentLoaded в JavaScript. |
WebEngineScript.Deferred |
Скрипт выполнится по завершении загрузки страницы или через 500 мс после готовности документа, в зависимости от того, что произойдёт раньше. |
name : строка
Имя скрипта. Может быть полезно для извлечения определённого скрипта из WebEngineView.userScripts.
runOnSubframes : целое число
Установите это свойство в true, если скрипт выполняется на каждой вкладке страницы, или в false, если он выполняется только для основной вкладки. Значение по умолчанию — false.
sourceCode : строка
Это свойство содержит исходный код JavaScript пользовательского скрипта.
См. также sourceUrl.
sourceUrl : url
Это свойство содержит удалённое расположение исходного кода пользовательского скрипта (если таковое имеется).
В отличие от sourceCode, это свойство позволяет ссылаться на пользовательские скрипты, которые ещё не загружены в память, например, если они хранятся на диске.
Установка этого свойства изменит sourceCode скрипта.
Примечание: В настоящее время поддерживаются только файловые источники.
См. также sourceCode.
worldId : перечисление
Идентификатор мира, определяющий, в каком изолированном мире выполняется скрипт.
| Константа | Описание |
|---|---|
WebEngineScript.MainWorld |
Мир, используемый веб-контентом страницы. Может быть полезен для экспонирования пользовательской функциональности веб-контенту в определённых сценариях. |
WebEngineScript.ApplicationWorld |
Стандартный изолированный мир, используемый для функциональности уровня приложения, реализованной на JavaScript. |
WebEngineScript.UserWorld |
Первый изолированный мир, который будут использовать скрипты, установленные пользователями, если приложение не использует больше миров. Как правило, если такая функциональность предоставляется пользователям приложения, каждый отдельный скрипт, вероятно, должен получить свой собственный изолированный мир. |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtwebengine-webenginescript.html