本地磁盘有个js文件,我不想再开webbrowser了,c#中有没有相应的类,可以直接通过调用本地的js文件,来得到函数结果?

解决方案 »

  1.   


    <script type="text/javascript">
    function temp(obj)
    {
      document.all["Country"].innerText=obj;
    }
    </script>
    mshtml.IHTMLDocument2 currentDoc = (mshtml.IHTMLDocument2) webBrowser1.Document.DomDocument;
    mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)currentDoc.parentWindow;
    win.execScript("temp('fdsafadsf)", "javascript");//调用函数temp
      

  2.   

    winform 调 JS ????
    我要学习..
      

  3.   

    可以的,你把这个js文件文件编译成DLL,然后在C#引用再直接调用方法就行了
      

  4.   

    mshtml.IHTMLDocument2 currentDoc = (mshtml.IHTMLDocument2) webBrowser1.Document.DomDocument;
    mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)currentDoc.parentWindow;
    win.execScript("temp('fdsafadsf)", "javascript");
      

  5.   


       private GoodsInfo()
            {
                System.Net.HttpWebRequest hwr = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://imgcache.qq.com/qzone/app/booth/js/goods.js");
                System.IO.StreamReader sr = new System.IO.StreamReader(hwr.GetResponse().GetResponseStream(), Encoding.Default);
                Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
                object o1 = ve.GetOption("fast");
                ve.SetOption("fast", false);
                object o = Microsoft.JScript.Eval.JScriptEvaluate("var commerce_embed=[];" + sr.ReadToEnd() + "(GoodsInfo)", ve);
                for (int i = 0; i < Convert.ToInt32(((Microsoft.JScript.ArrayObject)o).length); i++)
                {
                    Microsoft.JScript.JSObject jsobj = (((Microsoft.JScript.ArrayObject)o)[i]) as Microsoft.JScript.JSObject;
                    if (jsobj != null && jsobj["name"] != null)
                    {
                        GoodInfo _coodInfo = new GoodInfo();
                        _coodInfo.Name = jsobj["name"].ToString();
                        _coodInfo.Money = Convert.ToInt32(jsobj["money"]);
                        _coodInfo.Price = Convert.ToInt32(jsobj["price"]);
                        _coodInfo.Love = Convert.ToInt32(jsobj["love"]);
                        if (!base.ContainsKey(i))
                        {
                            base.Add(i, _coodInfo);
                        }
                    }            }
            }这是我写软件里的一段代码!
    返回一个JS数组
      

  6.   

    webbrower调用
    IHTMLDocument2 doc = (IHTMLDocument2)WebShow.Document;
    IHTMLWindow2 win = (mshtml.IHTMLWindow2)doc.parentWindow;
    win.execScript("A();", "javascript");webBrowser1.Document.InvokeScript("A",
                new String[] { "" });
      

  7.   

    加一个webbrower控件,通过浏览器控件执行你的js函数
      

  8.   

    晕大家都没看到他不要用【我不想再开webbrowser了】吗?
      

  9.   

    a82344626,能解释下下面这句吗?
    GoodInfo _coodInfo = new GoodInfo();
    GoodInfo类是在本程序集定义的?对应JS中定义的对象吗?
      

  10.   


    http://www.cnblogs.com/cuihongyu3503319/archive/2008/08/28/1278573.html