我有一个包含一些JavaScript的C#/WPF应用程序,并嵌入了一个浏览器(WebBrowser)。它们如何能够双向通信?是否可以使用URL来实现?
JS->WPF: 监听变化。
WPF->JS: 将URL更改为javascript:alert('hello');
是否有更好的方法?
我有一个包含一些JavaScript的C#/WPF应用程序,并嵌入了一个浏览器(WebBrowser)。它们如何能够双向通信?是否可以使用URL来实现?
JS->WPF: 监听变化。
WPF->JS: 将URL更改为javascript:alert('hello');
是否有更好的方法?
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>