JavaScriptを備えた組み込みブラウザ(WebBrowser)を備えたC#/WPFアプリケーションがあります。彼らはどのようにして両方向で互いにコミュニケーションをとることができますか?URLを使用することは実用的ですか?
JS-> WPF:変更をリッスンします。WPF-> JS:URLを次のように変更しますjavascript:alert('hello');
もっと良い方法はありますか?
JavaScriptを備えた組み込みブラウザ(WebBrowser)を備えたC#/WPFアプリケーションがあります。彼らはどのようにして両方向で互いにコミュニケーションをとることができますか?URLを使用することは実用的ですか?
JS-> WPF:変更をリッスンします。WPF-> JS:URLを次のように変更しますjavascript:alert('hello');
もっと良い方法はありますか?
2つのWebBrowserがあることを知っておくことが重要です。1つはWindowsフォーム用で、もう1つは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を呼び出し、値を返します
私のWPFXaml:
<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>