相关疑难解决方法(0)

相当于 WebView2 中的 WebBrowser.InvokeScript(String, Object[])

在我的 WPF 应用程序中,我能够使用 WebBrowser 的 InvokeScript(String, Object[]) 方法成功地将消息从 WPF 传递到 JavaScript。我在 Object[] 参数中传递消息,并且 JS 代码很好地接受了它。(见下面的代码)

如何在 WebView2 中实现同样的效果?有什么方法可以像在WebBrowser控件中一样将参数传递给JS代码吗?

窗口.xaml

<Grid>
    <DockPanel> 
        <StackPanel>        
        <TextBox x:Name="txtMessageFromWPF" Width="150" FontSize="20"></TextBox>
        <Button x:Name="btnCallDocument" Click="btnCallDocument_Click" Content="CallDocument" />
        </StackPanel>
        <WebBrowser x:Name="webBrowser" DockPanel.Dock="Top" Margin="30"/>           
    </DockPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

窗口.xaml.cs

private void btnCallDocument_Click(object sender, RoutedEventArgs e)
{
    webBrowser.InvokeScript("WriteMessageFromWPF", new object[] { this.txtMessageFromWPF.Text });
}
Run Code Online (Sandbox Code Playgroud)

JS代码:

<script type="text/javascript">
    function getAlert()
    {
        alert("Hi the page is loaded!!!");
    }
    window.onload = getAlert;
    
    function WriteMessageFromWPF(message){
        document.write("Message from WPF: " + message);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

.net webbrowser-control webview webview2

7
推荐指数
1
解决办法
8841
查看次数

标签 统计

.net ×1

webbrowser-control ×1

webview ×1

webview2 ×1