예제 #1
0
 /// <summary>
 ///		Método que recibe los mensajes de javaScript
 /// </summary>
 private void ReceiveJavaScriptMessage(object sender, CoreWebView2WebMessageReceivedEventArgs args)
 {
     FunctionExecute?.Invoke(this, new WebExplorerFunctionEventArgs(args.TryGetWebMessageAsString()));
     //String uri = args.TryGetWebMessageAsString();
     //addressBar.Text = uri;
     //webView.CoreWebView2.PostWebMessageAsString(uri);
 }
        private void PointContentWebViewOnScriptNotify(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            var value = e.TryGetWebMessageAsString().TrimNullToEmpty();

            if (string.IsNullOrWhiteSpace(value))
            {
                return;
            }

            var splitValue = value.Split(";");

            if (splitValue.Length != 2)
            {
                return;
            }

            if (!double.TryParse(splitValue[0], out var latitude))
            {
                return;
            }
            if (!double.TryParse(splitValue[1], out var longitude))
            {
                return;
            }

            RaisePointLatitudeLongitudeChange?.Invoke(this, new PointLatitudeLongitudeChange(latitude, longitude));
        }
예제 #3
0
        private void CoreWebView2OnWebMessageReceived(object?sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            var webMessage = JsonSerializer.Deserialize <BrowserWebMessage>(
                e.WebMessageAsJson,
                new JsonSerializerOptions {
                PropertyNameCaseInsensitive = true
            });

            if (webMessage?.Type == "badgeNumber")
            {
                OnBadgeNumberUpdate?.Invoke(int.TryParse(webMessage.Value, out var number) ? number : 0);
            }
            else if (webMessage?.Type == "badgeType")
            {
                var overlayType = webMessage.Value switch
                {
                    "warning" => OverlayType.Warning,
                    "error" => OverlayType.Error,
                    _ => OverlayType.Default
                };

                OnBadgeTypeUpdate?.Invoke(overlayType);
            }
            else if (webMessage?.Type == "title")
            {
                OnTitleUpdate?.Invoke(webMessage.Value);
            }
        }
예제 #4
0
 private void CoreWebView_WebMessageReceived(object?sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     if (e.WebMessageAsJson == "\"DOMContentLoaded\"")
     {
         _handler?.Invoke(webView, e);
     }
 }
예제 #5
0
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            String uri = args.TryGetWebMessageAsString();

            tbUrl.Text = uri;
            webView.CoreWebView2.PostWebMessageAsString(uri);
        }
예제 #6
0
        public void UpdateAddressBar(object?sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            var uri = args.TryGetWebMessageAsString();

            AddressBar.Text = uri;
            WebView.CoreWebView2.PostWebMessageAsString(uri);
        }
예제 #7
0
 private void View_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     if (ウェブメッセージを受信した != null)
     {
         ウェブメッセージを受信した(sender, EventArgs.Empty);
     }
 }
예제 #8
0
        private void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            string uri = e.TryGetWebMessageAsString();

            //addressBar.Text = uri;
            webView.CoreWebView2.PostWebMessageAsString(uri);
        }
예제 #9
0
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            //读取数据
            String uri = args.TryGetWebMessageAsString();

            addressBar.Text = uri;
            //从主机发送数据给webview
            webView.CoreWebView2.PostWebMessageAsString(uri);
        }
예제 #10
0
        private void Core_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            ScrollResponse response = JsonConvert.DeserializeObject <ScrollResponse>(e.WebMessageAsJson);

            //MessageBox.Show("Scrolling to " + response.ScrollPos);
            if (currentReviewDocument != null)
            {
                currentReviewDocument.ScrollTo(response.ScrollPos);
            }
        }
예제 #11
0
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            Microsoft.Web.WebView2.Core.CoreWebView2 webView = sender as Microsoft.Web.WebView2.Core.CoreWebView2;
            String uri = args.TryGetWebMessageAsString();

            addressBar.Text = uri;
            //Microsoft.Web.WebView2.Wpf.WebView2 webView = (A_or_B ? webViewB : webViewA);
            webView.PostWebMessageAsString(uri);
            //A_or_B = !A_or_B;
            //ButtonGo.Content = (A_or_B ? "Go [B]" : "Go [A]");
        }
예제 #12
0
        private void AppleMusic_DiscordRPC(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            var json    = args.WebMessageAsJson;
            var options = new JsonSerializerOptions
            {
                PropertyNameCaseInsensitive = true,
            };
            var data = JsonSerializer.Deserialize <MusicKitResponse>(json, options);

            rpc.UpdatePresence(data);
        }
예제 #13
0
        void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            String serializedMessage = args.WebMessageAsJson;

            var message          = JsonSerializer.Deserialize <Message>(serializedMessage, this.options);
            var serializedAnswer = JsonSerializer.Serialize <Message>(message, this.options);

            // If we just send the string we receive the results are still in the same order of magnitude
            //String serializedAnswer = serializedMessage;

            webView.CoreWebView2.PostWebMessageAsJson(serializedAnswer);
        }
예제 #14
0
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            String uri = args.TryGetWebMessageAsString();

            if (!tbUrl.Text.StartsWith("file"))
            {
                tbUrl.Text = uri;
                LoadContent();
            }

            webView.CoreWebView2.PostWebMessageAsString(uri);
        }
예제 #15
0
 private void _vistaHtml_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     if (this._tiempos != null)
     {
         this._tiempos.Add(new EntryOfTime
         {
             Etiqueta = "MENSAJE RECIVIDO",
             Mensaje  = "Mensaje recibido " + e.TryGetWebMessageAsString(),
             Tiempo   = DateTime.Now
         });
         this.DibujaDiagrama();
     }
 }
예제 #16
0
        private void _webView_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            var message = JsonSerializer.Deserialize <WebViewEventMessage>(e.WebMessageAsJson, new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            });

            if (message.Event == "BingMapLoaded")
            {
                BingMapLoaded?.Invoke(this, new EventArgs());
            }
            else if (message.Event == "PinClicked")
            {
                var id = Guid.Parse(message.Parameter);
                PinClicked?.Invoke(this, new PinClickedEventArgs(id));
            }
        }
예제 #17
0
        private void onWebViewImageClicked(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            string            jsonString = e.TryGetWebMessageAsString();
            ActionFromWebView aa         = JsonSerializer.Deserialize <ActionFromWebView>(jsonString);

            if (aa.action == "click")
            {
                (string artistFromId, string albumFromId) = mainWindow.getAlbumArtistAndNameById(aa.id);

                mainWindow.setSelectedArtist(artistFromId);
                mainWindow.setSelectedAlbum(albumFromId);

                string      imageFileName = mainWindow.GetAlbumCacheImageFilePathAndName(artistFromId, albumFromId);
                BitmapImage bmp           = mainWindow.getBitmapImageFromFileName(imageFileName);
                mainWindow.setSelectedAlbumImage(bmp);
                mainWindow.Button_Current_Click(null, null);
            }
        }
예제 #18
0
        // Read payloads sent by config pages
        void ReadPayload(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            // Get the received message
            string uri = args.TryGetWebMessageAsString();

            // If the URI isn't a config page, return
            if (!uri.Contains(Directory.GetCurrentDirectory().Replace('\\', '/') + "/config/"))
            {
                return;
            }
            // If the message isn't a payload, return
            if (!uri.StartsWith(":svpl:"))
            {
                return;
            }
            // Remove header
            uri = uri.Replace(":svpl:", "");
            MessageBox.Show(uri);
        }
예제 #19
0
        // Update the text of the address bar.
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            // Get the received message (the URI of the current page)
            string uri = args.TryGetWebMessageAsString();

            // If the URI isn't a config page:
            if (!uri.Contains(Directory.GetCurrentDirectory().Replace('\\', '/') + "/config/"))
            {
                // If the URI isn't the homepage, set the address bar's text to it
                if (uri != home)
                {
                    addressBar.Text = uri;
                }
                // Else, set it to the browsing prompt
                else
                {
                    addressBar.Text = prompt;
                }
            }
        }
예제 #20
0
        // Update the text of the address bar.
        void UpdateAddressBar(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            // Get the received message (the URI of the current page)
            string msg = args.TryGetWebMessageAsString();

            // If the message is a payload, return
            if (msg.StartsWith(":svpl:"))
            {
                return;
            }
            // If it's a URI, get the URI
            if (msg.StartsWith("url="))
            {
                string uri = msg.Replace("url=", "");
                // If the URI isn't a config page:
                if (!uri.Contains(Directory.GetCurrentDirectory().Replace('\\', '/') + "/config/"))
                {
                    // If the URI isn't the homepage, set the address bar's text to it
                    if (uri != home)
                    {
                        addressBar.Text = uri;
                    }
                    // Else, set it to the browsing prompt
                    else
                    {
                        addressBar.Text = prompt;
                    }
                }
            }
            // If it's a title:
            if (msg.StartsWith("title="))
            {
                // If there is a title sent:
                if (msg != "title=")
                {
                    // Update the window title
                    Title = msg.Replace("title=", "") + " - SurfView";
                }
            }
        }
        void WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            String serializedMessage = args.WebMessageAsJson;
            var    message           = JsonSerializer.Deserialize <Message>(serializedMessage, this.options);

            switch (message.Action)
            {
            case "createFolder": CreateFolder(message); break;

            case "deleteFixtures": DeleteFixtures(message); break;

            case "readFolder": ReadFolder(message); break;

            case "readFile": ReadFile(message); break;

            case "writeFile": WriteFile(message); break;

            case "writeResults": WriteResults(message); break;

            default: break;
            }
        }
예제 #22
0
 private async void Webview_WebMessageReceived(object?sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     await bridge.HandleScriptCall(e.TryGetWebMessageAsString());
 }
예제 #23
0
 private void Browser_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     InteropReceived?.Invoke(this, new InteropReceivedEventArgs(UnescapeJsString(e.WebMessageAsJson)));
 }
예제 #24
0
 private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     //textEditor.Text = e.TryGetWebMessageAsString();
 }
예제 #25
0
        void MessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs args)
        {
            String msg = args.TryGetWebMessageAsString();

            MessageBox.Show(msg);
        }
예제 #26
0
        private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            string mimeType = e.WebMessageAsJson;

            webView.CoreWebView2.PostWebMessageAsString("true");
        }
예제 #27
0
 private async void Webview_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     await bridge.HandleScriptCall(e.WebMessageAsJson);
 }
 private void HandleWebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs args)
 {
     Element.HandleWebMessageReceived(args.TryGetWebMessageAsString());
 }
예제 #29
0
        /// <summary>
        /// What to do when the listener script returns a value.
        /// </summary>
        private void OnWebViewInteraction(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {
            DomClickModel clickData = JsonConvert.DeserializeObject <DomClickModel>(e.WebMessageAsJson);

            _dispatcher.BeginInvoke(new Action(() => { RunDomInputQuery(clickData); }));
        }
예제 #30
0
 private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
 {
     MainBrowser.HandleTabMessageReceived(Tabid, CoreWebView2, e);
 }