public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - DidReceiveScriptMessage"); try { NSDictionary body = message.Body as NSDictionary; string requestUrl = null; string query = null; string serviceName = "undefined"; string methodName = "undefined"; Object service = null; if (body.ContainsKey (new NSString ("uri"))) { requestUrl = (body ["uri"]).ToString (); // get service path if (requestUrl != null) { if (requestUrl.StartsWith (IPhoneServiceLocator.APPVERSE_SERVICE_URI)) { string commandParams = requestUrl.Substring (IPhoneServiceLocator.APPVERSE_SERVICE_URI.Length); //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - commandParams: " + commandParams); string[] commandParamsArray = commandParams.Split (new char[] { '/' }); serviceName = commandParamsArray [0]; methodName = commandParamsArray [1]; //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - serviceName: " + serviceName); //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - methodName: " + methodName); service = serviceLocator.GetService (serviceName); } } } if (body.ContainsKey (new NSString ("query"))) { query = (body ["query"]).ToString (); //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - query: " + query); } SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - sending Async POST result for service: " + serviceName + ", and method: " + methodName); serviceURIHandler.ProcessAsyncPOSTResult (serviceInvocationManager, service, methodName, query); } catch (Exception ex) { SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - exception handling WKScriptMessage. Exception message: " + ex.Message); } }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { Element.InvokeAction(message.Body.ToString()); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (message.Name == "UserId") { Console.WriteLine("用户id" + message.Body); string alias = message.Body.ToString().Replace("-", "").ToLower(); if (string.IsNullOrWhiteSpace(alias)) { JPUSHService.DeleteAlias((arg0, arg1, arg2) => { }, 1); } else { JPUSHService.SetAlias(alias, (arg0, arg1, arg2) => { }, 1); } } }
/// <summary> /// Received a script message from the web page /// </summary> /// <param name="userContentController"></param> /// <param name="message"></param> public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (Element == null) { return; } Element.MessageReceived(message.Body.ToString()); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { var parsed = getParsedJSON(message.Body); var callback = parsed.ObjectForKey(new NSString("callback")) as NSString; var urlscheme = parsed.ObjectForKey(new NSString("urlscheme")) as NSString; var success = UIApplication.SharedApplication.OpenUrl(NSUrl.FromString(urlscheme)); var successStr = success.ToString().ToLower(); // "Bool" to "bool" var js = new NSString($"{callback}({successStr}, \"{urlscheme}\")"); _webView?.EvaluateJavaScript(js, null); }
/// <summary> /// Invoked when a script message is received from a webpage. /// </summary> /// <param name="userContentController">The user content controller invoking the delegate method.</param> /// <param name="message">The script message received.</param> public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { this.OnWebMessageReceived?.Invoke(this, (NSString)message.Body); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { System.Console.WriteLine("======================================== DidReceiveScriptMessage"); Element.InvokeAction(message.Body.ToString()); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { var name = message.Name; var result = message.Body.ToString(); switch (name) { case OnLoadCompleteMethod: System.Diagnostics.Debug.WriteLine("OnLoadComplete", "BingMap"); Element.OnLoadComplete(result); break; case PinClickMethod: Pin pin = null; try { pin = Element.DeserializeObject <Pin>(result); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.StackTrace, "BingMap"); } if (pin != null) { var pinfound = Element.Pins.FirstOrDefault(p => p.GetHashCode() == pin.HashCode); if (pinfound != null) { System.Diagnostics.Debug.WriteLine("PinClick", "BingMap"); pinfound.OnClick(); } } break; default: break; } }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (message is null) { throw new ArgumentNullException(nameof(message)); } Element.HandleWebMessageReceived(((NSString)message.Body).ToString()); }
public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (message.Name == "sendToApp") { var arguments = message.Body; System.Diagnostics.Debug.WriteLine("Contenuto arrivato " + arguments); var model = CustomWebviewHelper.JsonToModelIOS(arguments.ToString()); if (model.message.RequestAction == "stopLoading") { FatherVC.ShowLoader(IsVisible: false, timeout: 10); } } else if (message.Name == "onHtmlLoadCompleted") { FatherVC.PageHasBeenLoaded(); } }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { //No-op }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { string[] _ubicacion = Element.ubicacion(); if (_ubicacion != null) { Control.EvaluateJavaScript("returnLocation(" + _ubicacion[0] + "," + _ubicacion[1] + ")", completionHandler: HandleWKJavascriptEvaluationResult); } }
public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { string response = message.Body.ToString(); _controller.OnSamlResponseReceived(response); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { Element.InvokeEvent(WebViewEventType.JavascriptCallback, new JavascriptResponseDelegate(Element, message.Body.ToString())); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { var body = message.Body.ToString(); var index = body.IndexOf(","); if (index == -1) { return; } var key = body.Substring(0, index); var data = body.Substring(index + 1, body.Length - index - 1); ((HybridWebView)Element).InvokeAction(key, data); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (message is null) { throw new ArgumentNullException(nameof(message)); } _messageReceivedAction(new Uri(AppOrigin), ((NSString)message.Body).ToString()); }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { if (message.Name == "invokePayAction") { Element.InvokeCallbackAction(message.Body.ToString()); } if (message.Name == "invokeCloseAction") { Element.InvokeCloseAction(); } }
public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message) { var rawMessage = message.Body.ToString(); var jsonObject = JObject.Parse(rawMessage); var action = jsonObject.SelectToken("action").ToString(); switch (action) { case "onInitializeComplete": Element.OnInitializeComplete(new EventArgs()); break; case "onSaveState": Element.OnSaveEditorState(new HybridWebView.SaveEditorStateEventArgs() { State = jsonObject.SelectToken("content").ToString() }); break; case "onGetContents": var content = JObject.Parse(jsonObject.SelectToken("content").ToString()); Element.OnGetContents(new HybridWebView.GetContentsEventArgs() { Title = content.SelectToken("title").ToString(), Content = content.SelectToken("content").ToString(), Action = content.SelectToken("action").ToString() }); break; case "onShowImageDetails": var showImageContent = JObject.Parse(jsonObject.SelectToken("content").ToString()); Element.OnShowImageSettings(new HybridWebView.ShowImageSettingsEventArgs() { ImageSource = showImageContent.SelectToken("imageSrc").ToString(), ImageWidth = showImageContent.SelectToken("imageWidth").ToString(), ImageHeight = showImageContent.SelectToken("imageHeight").ToString(), Title = showImageContent.SelectToken("imageLegend").ToString(), Legend = showImageContent.SelectToken("imageTitle").ToString(), Alt = showImageContent.SelectToken("imageAlt").ToString(), Alignment = showImageContent.SelectToken("alignment").ToString() }); break; } }