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自动弹窗会有提示询问能否允许)