WPF和js交互 WebBrowser数据交互

以下两种方法:如果js调用wpf,则需要将js中的函数修改为 window.external.xxxfunction

另外一个:https://www.cnblogs.com/sntetwt/p/6701939.html

其二:https://www.cnblogs.com/lonelyxmas/p/5461269.html

以下转自:https://www.cnblogs.com/yuejin/p/3793657.html

this.webBrowser1.ObjectForScripting = new OprateBasic();
this.webBrowser1.Source = new Uri(Environment.CurrentDirectory + @" emplate.html");

WPF把数据传给js:

webBrowser1.InvokeScript("msg", objects);

js控制WPF的方法:

复制代码
    [System.Runtime.InteropServices.ComVisible(true)] // 将该类设置为com可访问
    public class OprateBasic
    {
        public void palymusic(string msg)
        {
            MessageBox.Show(msg);
        }
    }
复制代码

注意:

this.webBrowser1.ObjectForScripting = this; 会报错,需重新定义一个类:如OprateBasic,并把js要调用的方法放在这个类中

原文地址:https://www.cnblogs.com/changbaishan/p/13030912.html