我有一个带有嵌入式浏览器(WebBrowser)和一些 JavaScript 的 C#/WPF 应用程序。他们如何在两个方向上相互交流?使用网址是否可行?
JS->WPF:监听变化。WPF->JS:将 URL 更改为javascript:alert('hello');
有没有更好的办法?
我有一个带有嵌入式浏览器(WebBrowser)和一些 JavaScript 的 C#/WPF 应用程序。他们如何在两个方向上相互交流?使用网址是否可行?
JS->WPF:监听变化。WPF->JS:将 URL 更改为javascript:alert('hello');
有没有更好的办法?
重要的是要知道有两个 WebBrowser。一种用于 Windows 窗体,一种用于 WPF。下面的链接使用 WPF 之一。 http://www.dotnetfunda.com/articles/article840-working-with-webbrowser-in-wpf.aspx
从 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>