# JavaScript events This section shows you how to create a `WKUserScript` from a JavaScript context to: - Pass the current environment parameters to the web view. - Terminate the current session and process commands for callback functions. - Handle messages that the host app should process for handoff events. ## Inject environment parameters into WebView To pass the current environment parameters to the web view, create a `WKUserScript`. Here is an example in iOS Swift. **Note**: This example only works with Mobile SDK. ```swift let userContentController = WKUserContentController() let webviewConfig = WKWebViewConfiguration() webviewConfig.userContentController = userContentController let injectScriptStr = """ window.zoomCampaignSdkConfig = window.zoomCampaignSdkConfig || { language: 'user language', firstName: 'user first name', lastName: 'user last name', nickName: 'user nick name', address: 'user address', company: 'user company', email: 'user email', phoneNumber: 'user phone number' }; """ let injectScript = WKUserScript(source: injectScriptStr, injectionTime: .atDocumentStart, forMainFrameOnly: false) userContentController.addUserScript(injectScript) ``` > **Supported languages for language** > > `en-US`, `da-DK`, `de-DE`, `en-AU`, `en-GB`, `en-NZ`, `es-ES`, `es-MX`, `es-US`, `fr-CA`, `fr-FR`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sv-SE`, `tr-TR`, `vi-VN`, `zh-CN`, and `zh-TW` ## Handle exit callback functions To handle the termination of the current session and process commands from the JavaScript context, create a `WKUserScript`. Here is an example in iOS Swift. ```swift let exitHandlerScriptStr = """ window.addEventListener('zoomCampaignSdk:ready', () => { if (window.zoomCampaignSdk) { window.zoomCampaignSdk.native = { exitHandler: { handle: function() { window.webkit.messageHandlers.zoomLiveSDKMessageHandler.postMessage('close_web_vc'); } }, commonHandler: { handle: function(e) { window.webkit.messageHandlers.commonMessageHandler.postMessage(JSON.stringify(e)); } } } } }) """ let exitScript = WKUserScript(source: exitHandlerScriptStr, injectionTime: .atDocumentStart, forMainFrameOnly: false) userContentController.addUserScript(exitScript) ``` ## Handle handoff events To handle messages from the JavaScript context that the host app should process for handoff events, create a `WKUserScript`. Here is an example in iOS Swift. ```swift let supportHandoffScriptStr = """ window.addEventListener('support_handoff', (e) => { window.webkit.messageHandlers.support_handoff.postMessage(JSON.stringify(e.detail)); }); """ let supportHandoffScript = WKUserScript(source: supportHandoffScriptStr, injectionTime: .atDocumentStart, forMainFrameOnly: false) userContentController.addUserScript(supportHandoffScript) ```