Code Bye

winform webbrowser调用js给页面赋值,页面内容不变

  private void ReturnBut_Click(object sender, EventArgs e)
        {
            List<data> list = new List<data>();
            data a = new data();
            a.Username = "kefu1";
            list.Add(a);
            data b= new data();
            b.Username = "kefu2";
            list.Add(b);
            custom aa = new custom();
            aa.data = list;
            string cc = JsonSerializer.SerializeToString(aa);
          
             this.webBrowser.Navigate("C:\Users\Administrator\Desktop\chat.html");
           // webBrowser.ScriptErrorsSuppressed = true;
            this.webBrowser.Document.InvokeScript("loadstaff", new string[] { cc });
        }
function loadstaff(Usernames){
				staff=Usernames;
			    staff=eval("(" + Usernames + ")");

				 var $staff = $(".staff");
				var staffStr = "";
				for (var i = 0; i < staff.data.length; i++) {
					staffStr += "<li>" + staff.data[i]["Username"] + "</li>"
				}
				alert(staffStr)
				$staff.html(staffStr);
				alert($staff.html())
				}

就是本人点了winform里的一个按钮去调用js里的一个方法给页面赋值,加了alert($staff.html())以后可以看到 在输出这个内容的时候页面是被修改了的,可是点了确定以后就又还原了。假如不加alert($staff.html()) 就根本看不到变化。真心求指导

解决方案

40

是不是内置浏览器拦截了脚本的执行,猜测。(ie6的时候可以实现js弹窗,但ie8的时候js自动弹窗会有提示询问能否允许)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明winform webbrowser调用js给页面赋值,页面内容不变