从javascript C#调用BHO

时间:2014-10-23 18:53:31

标签: javascript c# internet-explorer bho

我为Internet Explorer创建了一个BHO(浏览器助手对象)。我已经通过在OnDocumentComplete处理程序中放置一些基本操作并观察它具有所需效果来确认BHO正常工作。我现在正试图从Java脚本中调用BHO中的一种方法。

我找到了几个显示如何执行此操作的资源,这些资源导致了以下代码。

public void OnDocumentComplete(object pDisp, ref object URL)
{
    document = (HTMLDocument)webBrowser.Document;
    IExpando windowEx = (IExpando)document.parentWindow;
    PropertyInfo pi = windowEx.AddProperty("myExtension");
    pi.SetValue(windowEx, this, null);
}

在我的java脚本函数中,我有以下内容:

function doWork() {
   try {
      alert(window.external.myExtension.GetSessionID());
   }
   catch(err) {
      alert(err.message);
   }
}

当我调用这个java脚本函数时(作为单击按钮的结果)抛出异常并且我收到消息“无法获取未定义或空引用的属性'GetSessionID'”

我去过几页,说他们解释了如何做到这一点。所有这些都是使用C ++(我在8年内没有使用它并且不符合我的任务要求)或者返回我已经看过但没有帮助的页面(很多主题在Stack上)溢出)。

非常感谢任何帮助。

0 个答案:

没有答案