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.

JavaScriptBridge

Eredita: Object

Singleton che collega il motore al contesto JavaScript del browser nell'esportazione Web.

Descrizione

Il singleton JavaScriptBridge è implementato solo nell'esportazione Web. È utilizzato per accedere al contesto JavaScript del browser. Ciò consente di interagire con le pagine incorporanti o chiamare API in JavaScript di terze parti.

Nota: È possibile disabilitare questo singleton in fase di compilazione per migliore sicurezza. Normalmente, il singleton JavaScriptBridge è abilitato. Anche i modelli di esportazione ufficiali hanno il singleton JavaScriptBridge abilitato. Consulta Compilazione per il Web nella documentazione per ulteriori informazioni.

Tutorial

Metodi

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()


Segnali

pwa_update_available() 🔗

Emesso quando è stato rilevato un aggiornamento per questa applicazione web progressiva ma è in attesa di essere attivato perché una versione precedente è attiva. Vedi pwa_update() per forzare l'esecuzione immediata dell'aggiornamento.


Descrizioni dei metodi

JavaScriptObject create_callback(callable: Callable) 🔗

Crea un riferimento a un Callable che può essere utilizzato come callback da JavaScript. Il riferimento deve essere mantenuto finché non avviene il callback, altrimenti non verrà chiamato affatto. Vedi JavaScriptObject per l'utilizzo.

Nota: la funzione di callback deve accettare esattamente un solo argomento Array, che sarà l'oggetto argomenti di JavaScript convertito in un array.


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

Crea un nuovo oggetto JavaScript usando il costruttore new. object deve essere una proprietà valida della finestra (window) di JavaScript . Vedi JavaScriptObject per l'utilizzo.


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

Richiede all'utente di scaricare un file contenente il buffer specificato. Il file avrà il nome (name) e il tipo (mime) specificati.

Nota: Il browser potrebbe sovrascrivere il tipo MIME fornito in base all'estensione del file in name.

Nota: I browser potrebbero bloccare il download se download_buffer() non è chiamato da un'interazione dell'utente (ad esempio clic sul pulsante).

Nota: i browser potrebbero chiedere l'autorizzazione all'utente o bloccare il download se sono effettuate più richieste di download in rapida successione.


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

Esegui la stringa code come codice JavaScript all'interno della finestra del browser. Questa è una chiamata alla funzione JavaScript globale eval().

Se use_global_execution_context è true, il codice sarà valutato nel contesto di esecuzione globale. Altrimenti, sarà valutato nel contesto di esecuzione di una funzione all'interno dell'ambiente di runtime del motore.


void force_fs_sync() 🔗

Forza la sincronizzazione del file system persistente (se abilitato).

Nota: Questo è utile solo per moduli o estensioni che non possono usare FileAccess per scrivere file.


JavaScriptObject get_interface(interface: String) 🔗

Restituisce un'interfaccia a un oggetto JavaScript che può essere utilizzato dagli script. Il parametro interface deve essere una proprietà valida della finestra (window) di JavaScript. Il callback deve accettare un singolo argomento Array, che conterrà gli argomenti (arguments) di JavaScript. Vedi JavaScriptObject per l'utilizzo.


bool is_js_buffer(javascript_object: JavaScriptObject) 🔗

Restituisce true se l'oggetto JavaScript javascript_object è di tipo ArrayBuffer, DataView o uno dei tanti oggetti array tipizzati.


PackedByteArray js_buffer_to_packed_byte_array(javascript_buffer: JavaScriptObject) 🔗

Restituisce una copia del contenuto di javascript_buffer come PackedByteArray. Vedi anche is_js_buffer().


bool pwa_needs_update() const 🔗

Restituisce true se una nuova versione della applicazione web progressiva è in attesa di essere attivata.

Nota: Rilevante solo se esportata come Applicazione web progressiva.


Error pwa_update() 🔗

Esegue l'aggiornamento live dell'applicazione web progressiva. Forza l'installazione della nuova versione e il ricaricamento della pagina.

Nota: La tua applicazione verrà ricaricata in tutte le schede del browser.

Nota: Rilevante solo se esportata come applicazione web progressiva e pwa_needs_update() restituisce true.