mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	 32ddd4f4e0
			
		
	
	
		32ddd4f4e0
		
			
		
	
	
	
	
		
			
			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).
(cherry picked from commit 81064cc239)
		
	
			
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="JavaScriptObject" inherits="Reference" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | |
| 	<brief_description>
 | |
| 		A wrapper class for native JavaScript objects.
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScript.get_interface], [method JavaScript.create_object], or [method JavaScript.create_callback].
 | |
| 		Example:
 | |
| 		[codeblock]
 | |
| 		extends Node
 | |
| 
 | |
| 		var _my_js_callback = JavaScript.create_callback(self, "myCallback") # This reference must be kept
 | |
| 		var console = JavaScript.get_interface("console")
 | |
| 
 | |
| 		func _init():
 | |
| 		    var buf = JavaScript.create_object("ArrayBuffer", 10) # new ArrayBuffer(10)
 | |
| 		    print(buf) # prints [JavaScriptObject:OBJECT_ID]
 | |
| 		    var uint8arr = JavaScript.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 JavaScript: Array.from(uint8arr).forEach(myCallback)
 | |
| 		    JavaScript.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 HTML5 platform.
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 	</tutorials>
 | |
| 	<methods>
 | |
| 	</methods>
 | |
| 	<constants>
 | |
| 	</constants>
 | |
| </class>
 |