This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
actions:Execute_a_JavaScript_in_Browser [2017/08/31 02:04] peternlewis |
actions:Execute_a_JavaScript_in_Browser [2017/08/31 02:09] peternlewis |
||
---|---|---|---|
Line 1: | Line 1: | ||
The *Execute a JavaScript in Browser* actions let you execute a JavaScript in the active web browser page. | The *Execute a JavaScript in Browser* actions let you execute a JavaScript in the active web browser page. | ||
- | Like other [[Browser_Actions|browser actions]], these actions work with Safari or Google Chrome (or whichever of the two was last at the front). | + | Like other [[Browser_Actions|browser actions]], these actions work with Safari or Google Chrome (or whichever of the two was last at the front). |
- | Alternatively, you can execute JavaScript in a specified [[action:Custom_HTML_Prompt|Custom HTML Prompt]]. | + | Alternatively, you can execute JavaScript in a specified [[action:Custom_HTML_Prompt|Custom HTML Prompt]] window (v7.1+). |
This action allows you to execute a specified JavaScript, either from a file or text entered in the Action itself, and return the results. | This action allows you to execute a specified JavaScript, either from a file or text entered in the Action itself, and return the results. | ||
Line 10: | Line 10: | ||
{{:action:km-execute-javascript-chrome.png?nolink|}} | {{:action:km-execute-javascript-chrome.png?nolink|}} | ||
- | |||
- | For *Execute a JavaScript in Custom HTML Prompt* you can specify a Custom HTML Prompt window ID to apply the JavaScript to, otherwise it will be applied to all open Custom HTML Prompt windows. | ||
===== Options for Returning Results ===== | ===== Options for Returning Results ===== | ||
Line 29: | Line 27: | ||
===== Using Keyboard Maestro Variables ===== | ===== Using Keyboard Maestro Variables ===== | ||
- | JavaScript 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: | + | 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: |
```javascript | ```javascript | ||
Line 38: | Line 36: | ||
===== Saving Results to Keyboard Maestro Variables ===== | ===== Saving Results to Keyboard Maestro Variables ===== | ||
| | ||
- | If you need to set a Keyboard Maestro Variable from the 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 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 [[action: Search_using_Regular_Expression|Search using Regular Expression]]. | 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 [[action: Search_using_Regular_Expression|Search using Regular Expression]]. | ||
Line 45: | Line 43: | ||
{{:action:km-browser-javascript-output.png?nolink|}} | {{:action:km-browser-javascript-output.png?nolink|}} | ||
+ | |||
+ | ===== Execute a JavaScript in Custom HTML Prompt ===== | ||
+ | |||
+ | For the *Execute a JavaScript in Custom HTML Prompt* action, you can specify a [[action:Custom_HTML_Prompt]] with a matching [[action:Custom_HTML_Prompt#HTML_Window_Design|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 [[action:Custom_HTML_Prompt|Custom HTML Prompt]] action. | ||
===== See Also ===== | ===== See Also ===== |