zoukankan      html  css  js  c++  java
  • Winform获取js变量值

    问题情境:

      webbrowser可以正常加载html页面了,需要和js相互传参。有个前提,c#程序和html不要直接影响(自己悟),所以直觉想法是通过中间介质进行传输,而想法第一个介质便是文件。如果没有这个直接影响的前提,可以通过函数传参,也可以通过隐藏控件等等。

    思路解析:

      1.先实现通过json格式的文件进行数据交互。c#端读写文件顺利,js端读还算顺利,如果通过ajax实现读,要用特定版本的jquery.min.js,才可以在ie上正常加载数据;写并不顺利。硬要写文件可以通过ActiveXObject实现,而该方法仅针对于ie。

      2.尝试通过localstorage/sessionStorage,发现浏览器不支持localstorage/sessionStorage(win10 +ie11/edge),c#端也就没有尝试的需要了。

      3.尝试通过cookie,经测试(仅测试c#端获取网页有关值),c#、js两端均正常通过。

    代码实现:(单展示cookie方法)

    //js文件,赋cookie写在一个按钮事件中
    $("#btnkk").click(function(event)
    {
    	alert("444444");
    	document.cookie="name=zjp";
    	var name=document.cookie;
    	alert(name);
    });
            //c#文件,读取通过webbrowser展示页面的cookie,写在一个button事件中
            private void Button1_Click(object sender, EventArgs e)
            {
                CookieContainer myCookieContainer = new CookieContainer();
                if (webBrowser1.Document.Cookie != null)
                {
                    string cookieStr = webBrowser1.Document.Cookie;
                    string[] cookstr = cookieStr.Split(';');
                    foreach (string str in cookstr)
                    {
                        string[] cookieNameValue = str.Split('=');
                        Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
                        ck.Domain = "www.google.com";
                        myCookieContainer.Add(ck);
                    }
                    MessageBox.Show(cookieStr);
                }
    
                MessageBox.Show("结束");
            }
  • 相关阅读:
    【2017-06-20】Linux应用开发工程师C/C++面试问题记录之一:Linux多线程程序的同步问题
    April 14 2017 Week 15 Friday
    April 13 2017 Week 15 Thursday
    April 12 2017 Week 15 Wednesday
    【2017-06-17】QtGui基础控件:QSpinBox及QDoubleSpinBox
    April 11 2017 Week 15 Tuesday
    April 10 2017 Week 15 Monday
    April 9 2017 Week 15 Sunday
    April 8 2017 Week 14 Saturday
    April 7 2017 Week 14 Friday
  • 原文地址:https://www.cnblogs.com/gaara-zhang/p/12420400.html
Copyright © 2011-2022 走看看