JavaScriptBridge
Наследует: Object
Синглтон, который связывает движок с контекстом JavaScript браузера при веб-экспорте.
Описание
Синглтон JavaScriptBridge реализован только в экспорте Web. Он используется для доступа к контексту JavaScript браузера. Это позволяет взаимодействовать со встроенными страницами или вызывать сторонние JavaScript API.
Примечание: Этот синглтон можно отключить во время сборки для повышения безопасности. По умолчанию синглтон JavaScriptBridge включён. В официальных шаблонах экспорта синглтон JavaScriptBridge также включён. Подробнее см. в разделе Компиляция для Web в документации.
Обучающие материалы
Методы
create_callback(callable: Callable) |
|
create_object(object: String, ...) vararg |
|
void |
download_buffer(buffer: PackedByteArray, name: String, mime: String = "application/octet-stream") |
eval(code: String, use_global_execution_context: bool = false) |
|
void |
|
get_interface(interface: String) |
|
is_js_buffer(javascript_object: JavaScriptObject) |
|
js_buffer_to_packed_byte_array(javascript_buffer: JavaScriptObject) |
|
pwa_needs_update() const |
|
Сигналы
pwa_update_available() 🔗
Выдается, когда обнаружено обновление для этого прогрессивного веб-приложения, но оно ожидает активации, поскольку активна предыдущая версия. См. pwa_update(), чтобы принудительно выполнить обновление немедленно.
Описания метода
JavaScriptObject create_callback(callable: Callable) 🔗
Создает ссылку на Callable, которую можно использовать в качестве обратного вызова JavaScript. Ссылка должна сохраняться до тех пор, пока не произойдет обратный вызов, иначе она не будет вызвана вообще. См. JavaScriptObject для использования.
Примечание: Функция обратного вызова должна принимать ровно один аргумент Array, который будет объектом JavaScript arguments, преобразованным в массив.
Variant create_object(object: String, ...) vararg 🔗
Создает новый объект JavaScript с помощью конструктора new. object должен быть допустимым свойством JavaScript window. См. JavaScriptObject для использования.
void download_buffer(buffer: PackedByteArray, name: String, mime: String = "application/octet-stream") 🔗
Предлагает пользователю загрузить файл, содержащий указанный buffer. Файл будет иметь заданные name и mime тип.
Примечание: Браузер может переопределить MIME-тип, предоставленный на основе расширения файла name.
Примечание: Браузеры могут блокировать загрузку, если download_buffer() не вызывается из взаимодействия с пользователем (например, нажатием кнопки).
Примечание: Браузеры могут запрашивать у пользователя разрешение или блокировать загрузку, если несколько запросов на загрузку выполняются в быстрой последовательности.
Variant eval(code: String, use_global_execution_context: bool = false) 🔗
Выполнить строку code как код JavaScript в окне браузера. Это вызов фактической глобальной функции JavaScript eval().
Если use_global_execution_context равен true, код будет оценен в глобальном контексте выполнения. В противном случае он оценен в контексте выполнения функции в среде выполнения движка.
void force_fs_sync() 🔗
Принудительная синхронизация постоянной файловой системы (если включено).
Примечание: Это полезно только для модулей или расширений, которые не могут использовать FileAccess для записи файлов.
JavaScriptObject get_interface(interface: String) 🔗
Возвращает интерфейс к объекту JavaScript, который может использоваться скриптами. interface должен быть допустимым свойством `` window`` JavaScript. Обратный вызов должен принимать один аргумент Array, который будет содержать аргументы arguments. См. JavaScriptObject для использования.
bool is_js_buffer(javascript_object: JavaScriptObject) 🔗
Возвращает true, если заданный javascript_object имеет тип [code]ArrayBuffer[/code], [code]DataView[/code] или один из многих типизированных объектов массива.
PackedByteArray js_buffer_to_packed_byte_array(javascript_buffer: JavaScriptObject) 🔗
Возвращает копию содержимого javascript_buffer в виде PackedByteArray. См. также is_js_buffer().
bool pwa_needs_update() const 🔗
Возвращает true, если новая версия прогрессивного веб-приложения ожидает активации.
Примечание: Актуально только при экспорте в качестве прогрессивного веб-приложения.
Выполняет обновление прогрессивного веб-приложения в реальном времени. Принудительно устанавливает новую версию и перезагружает страницу.
Примечание: Ваше приложение будет перезагружено во всех вкладках браузера.
Примечание: Актуально только при экспорте в качестве прогрессивного веб-приложения и pwa_needs_update() возвращает true.