JavaScriptBridge

继承: Object

在Web导出中将引擎与浏览器的JavaScript上下文连接起来的单例。

描述

JavaScriptBridge单例仅在Web导出中实现。它用于访问浏览器的JavaScript上下文。这允许与嵌入页面或调用第三方JavaScript API进行交互。

注意:可以在构建时禁用此单例以提高安全性。默认情况下,JavaScriptBridge单例已启用。官方导出模板也启用了JavaScriptBridge单例。

方法

JavaScriptObject

create_callback(callable: Callable)

Variant

create_object(object: String, ...) vararg

void

download_buffer(buffer: PackedByteArray, name: String, mime: String = "application/octet-stream")

Variant

eval(code: String, use_global_execution_context: bool = false)

void

force_fs_sync()

JavaScriptObject

get_interface(interface: String)

bool

is_js_buffer(javascript_object: JavaScriptObject)

PackedByteArray

js_buffer_to_packed_byte_array(javascript_buffer: JavaScriptObject)

bool

pwa_needs_update() const

Error

pwa_update()


信号

pwa_update_available() 🔗

当检测到此渐进式Web应用程序的更新但由于先前版本处于活动状态而等待激活时发出。请参阅pwa_update()以强制立即进行更新。


方法说明

JavaScriptObject create_callback(callable: Callable) 🔗

创建对可被JavaScript用作回调的Callable的引用。引用必须保留到回调发生,否则根本不会被调用。有关用法,请参阅JavaScriptObject

注意:回调函数必须只接受一个Array参数,该参数将是转换为数组的JavaScript参数对象


Variant create_object(object: String, ...) vararg 🔗

使用new构造函数创建一个新的JavaScript对象。object必须是JavaScript窗口的有效属性。有关用法,请参阅JavaScriptObject


void download_buffer(buffer: PackedByteArray, name: String, mime: String = "application/octet-stream") 🔗

提示用户下载包含指定buffer的文件。该文件将具有给定的namemime类型。

注意:浏览器可能会覆盖基于文件name扩展名提供的MIME类型

注意:如果没有从用户交互中调用download_buffer(),浏览器可能会阻止下载(例如按钮单击)。

注意:如果快速连续发出多个下载请求,浏览器可能会请求用户许可或阻止下载。


Variant eval(code: String, use_global_execution_context: bool = false) 🔗

在浏览器窗口中执行字符串code作为JavaScript代码。这是对实际全局JavaScript函数eval()的调用。

如果use_global_execution_contexttrue,则代码将在全局执行上下文中评估。否则,它将在引擎运行时环境中的函数的执行上下文中评估。


void force_fs_sync() 🔗

强制持久文件系统的同步(启用时)。

注意:这仅对不能使用FileAccess写入文件的模块或扩展有用。


JavaScriptObject get_interface(interface: String) 🔗

返回可供脚本使用的JavaScript对象的接口。interface必须是JavaScript窗口的有效属性。回调必须接受单个Array参数,该参数将包含JavaScript参数。有关用法,请参阅JavaScriptObject


bool is_js_buffer(javascript_object: JavaScriptObject) 🔗

如果给定的javascript_object类型为[code]ArrayBuffer[/code][code]DataView[/code]或许多类型的数组对象之一,则返回[code]true[/code]


PackedByteArray js_buffer_to_packed_byte_array(javascript_buffer: JavaScriptObject) 🔗

PackedByteArray形式返回javascript_buffer内容的副本。另请参见is_js_buffer()


bool pwa_needs_update() const 🔗

如果渐进式Web应用程序的新版本正在等待激活,则返回true

注意:仅在导出为渐进式Web应用程序时才相关。


Error pwa_update() 🔗

执行渐进式Web应用程序的实时更新。强制安装新版本并重新加载页面。

注意:您的应用程序将在所有浏览器选项卡中重新加载

注意:仅在导出为渐进式Web应用程序时相关,并且pwa_needs_update()返回true