Как перехватить сообщение parent.postMessage («Привет из дочернего окна», «*») в дочернее - PullRequest
0 голосов
/ 03 марта 2020

Как я могу поймать сообщение в коде Xaml позади (родительское окно)? Моё дочернее окно выдает это сообщение

В дочернем окне

function sendMsg() {
                var status = document.getElementById("status");
                if (parent && parent.postMessage) {
                    parent.postMessage("Hello from child window", "*");
                    status.innerText = "Sent message to parent...";
                }
            }

В родительском окне (xaml.cs),

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            // Get URI to navigate to  
            Uri uri = new Uri("child window url to be opened");            
            // Navigate to the desired URL by calling the .Navigate method  
            this.mybrowser.Navigate(uri);
        }

В Xaml,

 <WebBrowser Name="mybrowser" Margin="339,10,10,10" Height="396"></WebBrowser>
 <Button Content="Send Message to WebView" Margin="10,-700,736,0" Height="20" Click="Button_Click"/>

1 Ответ

0 голосов
/ 10 апреля 2020

Наконец я сделал это с помощью метода window.external скрипта java вместе с классом ObjectForScriptingHelper. Если у меня есть метод InvokeMeFrom Javascript в классе ObjectForScriptingHelper. Создайте объект этого класса и передайте его свойству ObjectForScripting. элемента управления WebBrowser. Это имеет подробное объяснение http://www.dotnetfunda.com/articles/show/840/working-with-webbrowser-in-wpf

...