Defold Learn logo


HTML5 API documentation

HTML5 platform specific functions.

[icon:html5] The following functions are only available on HTML5 builds, the html5.* Lua namespace will not be available on other platforms.

Version: alpha

FUNCTIONS
html5.run() run JavaScript code, in the browser, from Lua
html5.set_interaction_listener() set a JavaScript interaction listener callback from lua

Functions

html5.run()

html5.run(code:string)→result:string

Executes the supplied string as JavaScript inside the browser. A call to this function is blocking, the result is returned as-is, as a string. (Internally this will execute the string using the eval() JavaScript function.)

PARAMETERS

code string
Javascript code to run

RETURNS

result string
result as string

EXAMPLES

local res = html5.run("10 + 20") -- returns the string "30"
print(res)
local res_num = tonumber(res) -- convert to number
print(res_num - 20) -- prints 10

html5.set_interaction_listener()

html5.set_interaction_listener(callback:fun(self:script_instance)|nil)

Set a JavaScript interaction listener callaback from lua that will be invoked when a user interacts with the web page by clicking, touching or typing. The callback can then call DOM restricted actions like requesting a pointer lock, or start playing sounds the first time the callback is invoked.

PARAMETERS

callback function( self:script_instance)
nil
The interaction callback. Pass an empty function or nil if you no longer wish to receive callbacks.
self:script_instance
The calling script instance

EXAMPLES

local function on_interaction(self)
    print("on_interaction called")
    html5.set_interaction_listener(nil)
end

function init(self)
    html5.set_interaction_listener(on_interaction)
end