public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { var parameters = new DeconstructedParameters(message.Body.ValueForKey(new NSString("data")).ToString()); var handler = message.Body.ValueForKey(new NSString("id")).ToString(); var returnValue = Element.InvokeAction(parameters, GetUserFolder()); if (returnValue == null) { returnValue = ""; } returnValue = returnValue.Replace("\r", "").Replace("\n", ""); Control.EvaluateJavaScript("window.handlers['" + handler + "'].resolveMessage('" + returnValue + "');", new WKJavascriptEvaluationResult((o, e) => { })); }
public string InvokeAction(string data) { HybridWebViewRenderer hybridRenderer; var parameters = new DeconstructedParameters(data); if (hybridWebViewRenderer != null && hybridWebViewRenderer.TryGetTarget(out hybridRenderer)) { return(hybridRenderer.Element.InvokeAction(parameters, GetUserFolder())); } else { return(""); } }