1 / 23
文档名称:

如何用mshtml获得Javascript中function的返回值[mshtml].doc

格式:doc   大小:18KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

如何用mshtml获得Javascript中function的返回值[mshtml].doc

上传人:好用的文档 2021/8/3 文件大小:18 KB

下载得到文件列表

如何用mshtml获得Javascript中function的返回值[mshtml].doc

文档介绍

文档介绍:如何用mshtml获得Javascript中function的返回值[mshtml]
今天琢磨了一下如何用mshtml获得Javascript中function的返回值。,如
//
doc = ;
private win = ;
string strScript = "alert('OK');";
(strScript, "javascript");
智能提示显示execScript方法的返回值类型是object,但是其实其返回值永远是null(当然,我们不应该相信COM的智能提示,很多参数、返回值等都是object类型,无法得到更详细的信息),即使该方法执行的是一个有返回值javascript函数。
那么,这个问题如何解决呢?Google一下吧。简体中文的页面中没有这个问题的答案,看看英文的文档吧(这里说一句,很多人因为懒或者不会使用google等搜索引擎而错过了学****一些东西的机会。多用一下搜索引擎,考虑怎样使用关键词,并不断提高关键字的质量,相信很容易找到相应的资料)。输入“"javascript return value" +mshtml +c#”作为关键字,搜索结果只有一篇文档,要的就是它。 Explorer,示例既有C#,,非常棒(附在随笔的最后)。
文档中给出了这个问题的解决方法, 。.NET :
string strRetVal = "";
//
HtmlDocument doc = ;
//jsFunction为HTML文档中javascript函数的函数名
strRetVal = (string)("jsFunction");
(strRetVal);
要注意的是,HTML文档中的javascript函数名后要加空括号(没有参数的情况下),而在C# 。
在C# ,这里介绍一个变通的方法(这些变通的方法在以前的随笔中也用到过):
1、在Form中定义变量用于存储javascript函数的返回值;
2、 DOM中;
3、在javascript函数中为1中的变量赋值(赋和javascript函数返回值一样的值),这样javascript函数甚至不需要有返回值了。
步骤2的代码如下:
private iex;
private doc = null;
//,wendang加载完毕后执行的代码
private void awbMain_DocumentComplete(object sender, e)
{
= ();
ex = ()doc;
piform = ("MainForm");
(doc, this, null);
}