C#JavaScript交互

来源:互联网 发布:淘宝皇冠店可靠吗 编辑:程序博客网 时间:2024/06/03 05:32

[乱语言]C#javascript

场景

  • 有一天发现百度地图只有提示的Javascript的代码没有c#的于是就想到能互相调用吗?

解决方法

  • 上网一查果然不是第一个人,有两种一种引入第三方库,另一种就是用Webbrowser来实现,本文用的第二种方法。
    1. 首先要搭建一候平台此处WinForm的,拖入一个Web一个Button然后开始在下面写调用事件
    2. 此时要看清楚JavaScript的方法名
      代码如下:
 private void button1_Click(object sender, EventArgs e)        {            webBrowser1.Document.InvokeScript("Run", new object[] { "114.34","31.23" });        }        private void Form1_Load(object sender, EventArgs e)        {            webBrowser1.ObjectForScripting = this;//具体公开的对象,这里可以公开自定义对象            webBrowser1.Navigate(Application.StartupPath + "/aaa.html");        }        public void ShowMsg(string msg)        {            MessageBox.Show(msg);        }        private void button2_Click(object sender, EventArgs e)        {            webBrowser1.Document.InvokeScript("Run1", new object[] { "CShareFunction" });        }
  1. 就是JavaScript的代码了
<html>  <head>  </head>  <body>   </body>   <script type="text/javascript" charset="utf-8">    function Run(str)   {        window.external.ShowMsg(str);   }   </script>   </html>  

注意

  1. 就是方法名和参数的调用

其它问题

  • 就是javascript的回调以用复杂的业务逻辑目前没有想到很好的办法。
    源码
    原文地址

相信代码是一个一个的敲出来的,不是想出来也不是说出来的,但是你要想明白我说明白最后才要敲代码

原创粉丝点击