如何在WebBrowser实例中的WPF和JavaScript之间进行通信?

问题描述 投票:0回答:2

我有一个带有嵌入式浏览器(WebBrowser)和一些 JavaScript 的 C#/WPF 应用程序。他们如何才能双向沟通?使用网址可行吗?

JS->WPF:监听变化。 WPF->JS:将 URL 更改为

javascript:alert('hello');

有更好的方法吗?

javascript c# wpf browser
2个回答
6
投票

重要的是要知道有两个 Web 浏览器。一种用于 Windows 窗体,一种用于 WPF。下面的链接使用 WPF 链接。 http://www.dotnetfunda.com/articles/article840-working-with-webbrowser-in-wpf.aspx


4
投票

从 C# 调用 JavaScript 函数

object result = mWebBrowser.Document.InvokeScript("FunctionName", new String[] { Parameter1 });

// If the function succeed (my function return a boolean)
if (null == result || result.ToString().ToLower() == "false")
{
   // Code
}

这是你想要的吗?像这样你的c#代码调用你的javascript,它返回一个值

我的 WPF Xaml:

<UserControl x:Class="MediaViewer.WebViewer"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
   <WindowsFormsHost>
      <wf:WebBrowser x:Name="mWebBrowser" />
   </WindowsFormsHost>
</UserControl>
© www.soinside.com 2019 - 2024. All rights reserved.