WebView.AddScriptMessageHandler
-------------------------------

Adds a script message handler.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [WebView](component_WebView.md) | [8.0](newinversion80.md) | ✅ Yes | ❌ No | ❌ No | ❌ No | ✅ Yes |

MBS( "WebView.AddScriptMessageHandler"; WebViewerRef; Name ) 

**MBS**( **"WebView.AddScriptMessageHandler";** /\* Adds a script message handler. \*/  
**$WebViewerRef**; /\* Either the Web Viewer Object Name or the Web Viewer ID as returned by "[WebView.FindByName](WebViewFindByName.md)" function. \*/   
**$Name**) /\* The name of the message handler.e.g. "test" \*/ 

### Parameters

| Parameter | Description | Example |
|---|---|---|
| WebViewerRef | Either the Web Viewer Object Name or the Web Viewer ID as returned by "[WebView.FindByName](WebViewFindByName.md)" function. |  |
| Name | The name of the message handler. | "test" |

### Result

Returns OK or error.

### Description

Adds a script message handler.  
Adding a script message handler with name name causes the JavaScript function window.webkit.messageHandlers.name.postMessage(messageBody) to be defined in all frames in all web views that use the user content controller.  
Only for FileMaker 16 and newer.  
  
Trigger script in FileMaker from JavaScript:  
  
window.webkit.messageHandlers.test.postMessage({'filename':'WebView Message Handler.fmp12', 'parameter':'Hello World from JavaScript', 'scriptName':'test'});  
  
Evaluate expression in JavaScript:  
  
window.webkit.messageHandlers.test.postMessage({'evaluate':'MBS( &amp;quot;Msgbox&amp;quot;; &amp;quot;Hello from Evaluate in JavaScript&amp;quot; )'});  
  
Added iOS for version 9.5.  
New in version 10.3: If you pass "fm" as name, we connect the standard FileMaker handler, so you can restore it after you removed it earlier with [WebView.RemoveScriptMessageHandler](WebViewRemoveScriptMessageHandler.md) function.  
### Examples

Add script handler:

 Set Variable \[ $r ; Value: MBS ( "Webview.AddScriptMessageHandler"; "web"; "test" ) \]  
Restore FileMaker 19 handler:

 Set Variable \[ $r ; Value: MBS ( "Webview.AddScriptMessageHandler"; "web"; "fm" ) \]  
### See also

- [WebView.FindByName](WebViewFindByName.md)
- [WebView.InstallCallback](WebViewInstallCallback.md)
- [WebView.RemoveScriptMessageHandler](WebViewRemoveScriptMessageHandler.md)

### Release notes

- **Version 9.5**
    - Added [Webview.RemoveScriptMessageHandler](http://www.mbsplugins.eu/WebviewRemoveScriptMessageHandler.shtml) and [Webview.AddScriptMessageHandler](http://www.mbsplugins.eu/WebviewAddScriptMessageHandler.shtml) for iOS.

### Example Databases

- [WebViewer/Custom WebView](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/WebViewer/Custom%20WebView.shtml#11ScriptAnchor_)

### Blog Entries

- [Using PerformScript in a custom WebViewer in FileMaker](https://www.mbsplugins.de/archive/2024-01-10/Using_PerformScript_in_a_custo/monkeybreadsoftware_blog_filemaker)
- [How FileMaker.PerformScript triggers scripts](https://www.mbsplugins.de/archive/2020-06-07/How_FileMakerPerformScript_tri/monkeybreadsoftware_blog_filemaker)
- [Working with Webkit Message Handlers in FileMaker](https://www.mbsplugins.de/archive/2020-06-05/Working_with_Webkit_Message_Ha/monkeybreadsoftware_blog_filemaker)
- [The FileMaker.PerformScript function in FileMaker 19](https://www.mbsplugins.de/archive/2020-05-23/The_FileMakerPerformScript_fun/monkeybreadsoftware_blog_filemaker)
- [Check out options for FileMaker JavaScript Integration](https://www.mbsplugins.de/archive/2020-05-21/Check_out_options_for_FileMake/monkeybreadsoftware_blog_filemaker)
- [Trigger FileMaker Scripts from JavaScript in FileMaker without fmp URL](https://www.mbsplugins.de/archive/2020-04-09/Trigger_FileMaker_Scripts_from/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin 9.5 - More than 5900 Functions In One Plugin](https://www.mbsplugins.de/archive/2019-11-12/MBS_FileMaker_Plugin_95_-_More/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 9.5pr8](https://www.mbsplugins.de/archive/2019-11-08/MBS_FileMaker_Plugin_version_9/monkeybreadsoftware_blog_filemaker)
- [FileMaker and WebViewer communication](https://www.mbsplugins.de/archive/2018-08-24/FileMaker_and_WebViewer_commun/monkeybreadsoftware_blog_filemaker)
- [Trigger FileMaker Scripts from JavaScript in FileMaker 16](https://www.mbsplugins.de/archive/2017-12-15/Trigger_FileMaker_Scripts_from/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 15th December 2017 , last changed 4th June 2020

  
[WebRequest.URLComponents](WebRequestURLComponents.md) - [WebView.AddUserScript](WebViewAddUserScript.md)

[HTML Version](WebviewAddScriptMessageHandler.shtml)