将 IHTMLDocument2.Script.InvokeMember() 返回的 COM 对象转换为有用的东西

Posted

技术标签:

【中文标题】将 IHTMLDocument2.Script.InvokeMember() 返回的 COM 对象转换为有用的东西【英文标题】:Converting COM object returned by IHTMLDocument2.Script.InvokeMember() to something useful 【发布时间】:2010-09-24 23:18:06 【问题描述】:

我正在为 Internet Explorer 扩展使用 C#.NET 中的一些代码,该扩展在浏览器中调用 javascript 并从 Javascript 调用中获取返回值。当 Javascript 返回一个原始类型或原始类型数组时,我得到了一些我可以处理的东西,但是当 Javascript 返回一个对象时,我得到一个不透明的 COM 对象。

如何获取 COM 对象的内容,或者有更好的方法从 C#.NET 调用 IE?

【问题讨论】:

【参考方案1】:

看看InvokeMember documentation底部的备注。如果返回值是一个 javascript 对象,您将收到一个围绕 javascript 对象的 .NET 对象包装器。您将不得不使用反射来检查/调用底层 javascript 对象的成员。这很有意义,因为 javascript 是一种动态语言,而 C# 不是。

【讨论】:

以上是关于将 IHTMLDocument2.Script.InvokeMember() 返回的 COM 对象转换为有用的东西的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?

如何将CMD窗口背景改成透明?