Garry's Mod Wiki

DHTML:Call

  DHTML:Call( string js )

Description

Runs/Executes a string as JavaScript code in a panel.

This function does NOT evaluate expression (i.e. allow you to pass variables from JavaScript (JS) to Lua context).
Because a return value is nil/no value (a.k.a. void).
If you wish to pass/return values from JS to Lua, you may want to use DHTML:AddFunction function to accomplish that job.
This function is an alias of DHTML:QueueJavascript (source).

Arguments

1 string js
Specify JavaScript code to be executed.

Example

Shows how to change document.body.innerHTML property by calling this function on panel.

-- First we create a container, in this case it is a full-screen Derma Frame window. local dframe = vgui.Create( 'DFrame' ) dframe:SetSize( ScrW(), ScrH() ) dframe:SetTitle( "Garry's Mod Wiki" ) dframe:Center() dframe:MakePopup() -- Enable keyboard and mouse interaction for DFrame panel. -- Create a new DHTML panel as a child of dframe, and dock-fill it. local dhtml = vgui.Create( 'DHTML', dframe ) dhtml:Dock( FILL ) -- Navigate to Garry's Mod wikipedia website. dhtml:OpenURL( 'https://wiki.garrysmod.com/index.php' ) -- Run JavaScript code. dhtml:Call( [[document.body.innerHTML = 'HTML changed from Lua using JavaScript!';]] ) -- This does not throw an error/exception, but instead returns nil/no value. -- That means you can't pass/return values from JavaScript back to Lua context using this function. local number = dhtml:Call( '22;' ) print( number )
Output: Inner HTML of document body in DHTML panel is now set to "HTML changed from Lua using JavaScript!".