Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 имеет тип ArrayBuffer, DataView или один из множества типов объектов массива.
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.