c#开发的ActiveX控件调用js时出现问题

xuelang1027 2017-11-16 09:48:34
各位,我是通过C#开发的ActiveX浏览器控件,在调用JS时出现问题,代码如下:
/// <summary>
/// 调用JS函数
/// </summary>
/// <param name="fnName">js函数名</param>
/// <param name="args">入参</param>
protected void CallJS(string fnName, params object[] args)
{
if (typeIOleObject == null)
{
typeIOleObject = this.GetType().GetInterface("IOleObject", true);
object tmpOldClientSite = typeIOleObject.InvokeMember("GetClientSite",
BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public,
null,
this,
null);
oleClientSite = tmpOldClientSite as IOleClientSite;
oleClientSite.GetContainer(out pObj);
}

//获取页面的Script集合
IHTMLDocument pDoc2 = (IHTMLDocument)pObj;
object script = pDoc2.Script;

try
{
//调用JavaScript方法OnScaned并传递参数,因为此方法可能并没有在页面中实现,所以要进行异常处理
script.GetType().InvokeMember(fnName,
BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public,
null,
script,
args);
}
catch { }
}


错误信息如下:


同样的写法,本地写的小案例调用完全没问题,一放到生产环境中就出现了问题,我想请教下,导致这类问题的原因有哪些呢?
...全文
374 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

8,833

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧