Revision Difference
DHTML:AddFunction#526694
<function name="AddFunction" parent="DHTML" type="panelfunc">
<ispanel>yes</ispanel>
<description>
Defines a Javascript function that when called will call a Lua callback.
<note>Must be called after the HTML document has fully loaded.</note>
</description>
<realm>Client</realm>
<args>
<arg name="library" type="string">Library name of the JS function you are defining.</arg>
<arg name="name" type="string">Name of the JS function you are defining.</arg>
<arg name="callback" type="function">Function called when the JS function is called. Arguments passed to the JS function will be passed here.</arg>
</args>
</function>
<example>
<description>Prints text from Javascript to the console in color.</description>
<code>
-- Create the frame
local f = vgui.Create("DFrame")
f:SetSize(800, 600)
f:Center()
-- Create a green color variable
local color_green = Color(0, 255, 0)
-- Define the Javascript function in the DHTML element
local DHTML = vgui.Create("DHTML", f)
DHTML:Dock(FILL)
DHTML:OpenURL("/VGUI/Elements/DHTML")
DHTML:OpenURL("https://wiki.facepunch.com/gmod/DHTML")
DHTML:AddFunction("console", "luaprint", function(str)
MsgC(color_green, str) -- Print the given string
end)
--This runs our function. Our function could also be called from Javascript on the DHTML's page.
DHTML:RunJavascript("console.luaprint('Hello from Javascript!');")
</code>
</example>