There are several Execute a JavaScript in Browser actions let you execute a JavaScript in a web browser page:
All of these Actions work the same. The difference is in which Web Browser the JavaScript will be executed.
This action allows you to execute a specified JavaScript, either from a file or text entered in the Action itself, and return the results.
If the results are to be saved to a variable or a clipboard then further text areas appear in the action allowing you to specify the variable or specific clipboard.
JavaScript in browsers can only GET Keyboard Maestro variables. They cannot be set. If your Keyboard Maestro Variable contains spaces, they must be replaced with underscores in the JavaScript, for example:
// Get Keyboard Maestro variable "My KM Data" var myData = document.kmvar.My_KM_Data
If you need to set a Keyboard Maestro Variable from the JavaScript in a browser, then use the JavaScript return value to return the data to the Keyboard Maestro Action, which can be set to save the results as a Keyboard Maestro Variable.
If you need to set more than one Keyboard Maestro Variable, one approach is to return the data for each variable on a separate line (or with delimiters of your choice), and then parse in a following Search using Regular Expression.
For example:
For the Execute a JavaScript in Custom HTML Prompt action, you can specify a Custom_HTML_Prompt with a matching data-kmwindowid to apply the JavaScript to, otherwise it will be applied to all open Custom HTML Prompt windows.
The JavaScript can access variables by using the window.KeyboardMaestro functions described in the Custom HTML Prompt action.