This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
action:Execute_a_JavaScript_in_Google_Chrome [2016/06/07 02:00] JMichaelTX ADD screenshots of Action list and Exec JS Action |
action:Execute_a_JavaScript_in_Google_Chrome [2017/08/31 02:11] peternlewis |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Execute JavaScript in Browser ====== | + | ~~REDIRECT>actions: Execute_a_JavaScript_in_Browser~~ |
- | |||
- | **The Execute JavaScript Action is available ONLY for [[action:Execute_a_JavaScript_in_Safari|Safari]] and [[action:Execute_a_JavaScript_in_Google_Chrome|Google Chrome]].** | ||
- | |||
- | * These are actually two separate Actions, one for each browser. | ||
- | * 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 you need to access other Mac apps, see [[action:Execute_a_JavaScript_For_Automation|Execute JavaScript for Automation (JXA) Action]] | ||
- | |||
- | {{:action:km-execute-javascript-actions.png?nolink|}} | ||
- | |||
- | {{:action:km-execute-javascript-chrome.png?nolink|}} | ||
- | |||
- | ===== Options for Returning Results ===== | ||
- | |||
- | *ignore results. | ||
- | *display results in a window. | ||
- | *display results briefly. | ||
- | *display results large. | ||
- | *type results. | ||
- | *paste results. | ||
- | *save results to variable. | ||
- | *save results to the system clipboard or a named clipboard. | ||
- | *save results asynchronously — the action runs while the macro continues on. | ||
- | |||
- | 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. | ||
- | |||
- | ===== Using Keyboard Maestro Variables ===== | ||
- | |||
- | JavaScript can only **GET** Keyboard Maestro variables. They cannot be set: | ||
- | |||
- | ```javascript | ||
- | var myData = document.kmvar.My_KM_Data | ||
- | ``` | ||
- | |||
- | If your Keyboard Maestro Variable contains spaces, they must be replaced with underscores in the JavaScript.\\ | ||
- | So, for example:\\ | ||
- | Keyboard Maestro Variable Name: My KM Data | ||
- | JavaScript Reference: document.kmvar.My_KM_Data | ||
- | | ||
- | ===== Saving Results to Keyboard Maestro Variables ===== | ||
- | | ||
- | If you need to set a Keyboard Maestro Variable from the Browser JavaScript, then use a JavaScript return 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 Keyboard Maestro Search Action using RegEx. | ||
- | |||
- | ===== Examples ===== | ||
- | |||
- | **1. Return Data for Multiple Variables** | ||
- | |||
- | {{:action:km-browser-javascript-output.png?nolink|}} |