Garry's Mod Wiki

Revision Difference

DHTML:AddFunction#545824

<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> <file line="123-L146">lua/vgui/dhtml.lua</file>⤶ <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() local frame = vgui.Create( "DFrame" ) frame:SetSize( 800, 600 ) frame:Center() -- Create a green color variable local color_green = Color(0, 255, 0) 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("https://wiki.facepunch.com/gmod/DHTML") DHTML:AddFunction("console", "luaprint", function(str) MsgC(color_green, str) -- Print the given string local DHTML = vgui.Create( "DHTML", frame ) DHTML:Dock( FILL ) 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!');") DHTML:RunJavascript( "console.luaprint( 'Hello from Javascript!' );" ) </code> ⤶ </example></example>