c# 中执行js的问题
来源:互联网 发布:代办申请淘宝直播 编辑:程序博客网 时间:2024/06/07 02:45
在C#中执行js一般的方法如下:
- 使用execScript :没有返回值,不能传参数。
mshtml.IHTMLDocument2 doc = webBrowser.Document.DomDocument as mshtml.IHTMLDocument2;
mshtml.IHTMLWindow2 win = doc.parentWindow as mshtml.IHTMLWindow2;
win.execScript(@”alert(‘hello webbrowser’)”, “javascript”); - 使用InvokeScript,可以返回值,且可传参数。
webBrowser.Document.InvokeScript(“test”);
**但是,某些情况下- 使用InvokeScript,可能会异常,例如:
string s=webBrowser.Document.InvokeScript(“myobject.test()”).ToString();
可以使用下面的方法解决:
webBrowser.Document.InvokeScript(“eval”,new object[]{“myobject.test()”}).ToString()
但是如果需要外部传参数的话,只有用下面的方法了,比较麻烦,但是效果不错:
HtmlElement head = webBrowser.Document.GetElementsByTagName(“head”)[0];
HtmlElement scriptEl = webBrowser.Document.CreateElement(“script”);
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = “function pwdSetSk(sessionKey) { pgeditor.pwdSetSk(sessionKey);return ‘secess’;} function pwdResult() { result=pgeditor.pwdResult();return result;} function machineNetwork() { result=pgeditor.machineNetwork();return result;}”;
head.AppendChild(scriptEl);
string test = webBrowser.Document.InvokeScript(“pwdSetSk”, new object[] { sessionKey }).ToString();
- c# 中执行js的问题
- JS中函数执行顺序的问题
- 在C#中执行JS
- C#代码中执行js代码的方法
- C#中执行DTS的问题,请关注!
- 在C# 中Sql 执行超时的问题
- C#执行js中的函数的问题,以sohu邮箱登陆密码js的MD5为例
- 在IE6中JS不执行的问题处理
- 在IE6中JS不执行的问题处理
- 安卓解决WebView中无法执行js的问题
- js中同名函数和同名变量的执行问题
- 关于js在html中执行顺序的问题
- JSP中java代码和js代码的执行问题
- JS 中关于this 执行环境的问题_part1
- JS 中关于this 执行环境的问题_part2
- JS 中关于this 执行环境的问题_part3
- C# Javascript引擎,如何在C#中执行现有的JS代码?
- C# MVC 中给js传对象的问题
- Android:ContentProvider 随记2
- Sublime Text 3添加到右键菜单
- Android布局之LinerLayout点滴
- iOS 集成第三方微博登录功能
- Debug模式和Release模式
- c# 中执行js的问题
- 解决Unable to locate Spring NamespaceHandler for XML schema namespace
- 安卓手机拍照未显示到图库中参考办法
- 产品设计——需求阶段该做的事!
- 汇编语言三满分答案
- spark on yarn的理解
- Android中WIFI开发总结(二)
- C# ListView用法详解
- oninput,onpropertychange,onchange的用法和区别