mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	We don't use that info for anything, and it generates unnecessary diffs every time we bump the minor version (and CI failures if we forget to sync some files from opt-in modules (mono, text_server_fb).
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="UTF-8" ?>
 | 
						|
<class name="JavaScriptObject" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | 
						|
	<brief_description>
 | 
						|
		A wrapper class for web native JavaScript objects.
 | 
						|
	</brief_description>
 | 
						|
	<description>
 | 
						|
		JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScriptBridge.get_interface], [method JavaScriptBridge.create_object], or [method JavaScriptBridge.create_callback].
 | 
						|
		[b]Example:[/b]
 | 
						|
		[codeblock]
 | 
						|
		extends Node
 | 
						|
 | 
						|
		var _my_js_callback = JavaScriptBridge.create_callback(myCallback) # This reference must be kept
 | 
						|
		var console = JavaScriptBridge.get_interface("console")
 | 
						|
 | 
						|
		func _init():
 | 
						|
		    var buf = JavaScriptBridge.create_object("ArrayBuffer", 10) # new ArrayBuffer(10)
 | 
						|
		    print(buf) # prints [JavaScriptObject:OBJECT_ID]
 | 
						|
		    var uint8arr = JavaScriptBridge.create_object("Uint8Array", buf) # new Uint8Array(buf)
 | 
						|
		    uint8arr[1] = 255
 | 
						|
		    prints(uint8arr[1], uint8arr.byteLength) # prints 255 10
 | 
						|
		    console.log(uint8arr) # prints in browser console "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]"
 | 
						|
 | 
						|
		    # Equivalent of JavaScriptBridge: Array.from(uint8arr).forEach(myCallback)
 | 
						|
		    JavaScriptBridge.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
 | 
						|
 | 
						|
		func myCallback(args):
 | 
						|
		    # Will be called with the parameters passed to the "forEach" callback
 | 
						|
		    # [0, 0, [JavaScriptObject:1173]]
 | 
						|
		    # [255, 1, [JavaScriptObject:1173]]
 | 
						|
		    # ...
 | 
						|
		    # [0, 9, [JavaScriptObject:1180]]
 | 
						|
		    print(args)
 | 
						|
		[/codeblock]
 | 
						|
		[b]Note:[/b] Only available in the Web platform.
 | 
						|
	</description>
 | 
						|
	<tutorials>
 | 
						|
	</tutorials>
 | 
						|
</class>
 |