基于c#+xaml的前台采用IE的js引擎写后台的猜想_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 基于c#+xaml的前台采用IE的js引擎写后台的猜想

基于c#+xaml的前台采用IE的js引擎写后台的猜想

 2013/8/31 11:09:25  cnljli  博客园  我要评论(0)
  • 摘要:参考上一篇文章基于js的开发wp8界面的猜想知道可以使用js的window.external.notify调用c#c#可以用InvokeScript调用js方法如果返回值类型是字符串类型可以直接返回因此我们可以再次使用WebBrowser控件做我们的js引擎(如果可以吧v8引擎移植最好啦),而且我们新建控件不用把控件放入UI一样有效基于以上的猜想进行实验新建一个wp类库代码如下publicclassClass1{WebBrowserBrowser=newWebBrowser()
  • 标签:C# JS

参考上一篇文章 基于js的开发wp8界面的猜想知道可以使用

 js的window.external.notify调用c#

 c#可以用InvokeScript调用js方法 

class="Apple-tab-span" style="white-space:pre">如果返回值类型是字符串类型可以直接返回

因此我们可以再次使用WebBrowser控件做我们的js引擎(如果可以吧v8引擎移植最好啦),而且我们新建控件不用把控件放入UI一样有效 

基于以上的猜想进行实验 新建一个wp类库

代码如下 

 
public class Class1
    {
        WebBrowser Browser = new WebBrowser();
        public Class1()
        {
            Browser.IsScriptEnabled = true;

            // 在此处添加 URL
            Browser.NavigateToString("<script>function a() { window.external.notify('a'); }</script>");
            Browser.ScriptNotify += Browser_ScriptNotify;
            Browser.LoadCompleted += Browser_LoadCompleted;
        }

        void Browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
        {
            var va= Browser.InvokeScript("a");
        }

        void Browser_ScriptNotify(object sender, NotifyEventArgs e)
        {
            throw new NotImplementedException();
        }

    } 

 然后 调用这个类库实例化后 发现可以进事件: Browser_ScriptNotify

 既然可以就开始优化 让每次调用都方便点 优化方案加载中......

 

上一篇: [搜片神器]之DHT网络爬虫的C++程序初步开源 下一篇: 没有下一篇了!
发表评论
用户名: 匿名