繁体   English   中英

在Javascript中调用C#BHO方法在Internet Explorer 10中(发布预览版)

[英]Calling C# BHO methods from Javascript In Internet Explorer 10 (Release preview)

我正在尝试为IE 10的发布预览开发BHO .BHO需要能够允许javascript调用C#函数。

我按照这里的说明操作:

从Javascript调用C#BHO方法

这些说明在IE 9中运行良好。

不幸的是,我发现它们只适用于在IE 10中创建的第一个选项卡。第二个和后续选项卡不会将BHO接口暴露给Javascript。 有时,新标签可以正常工作,但大部分时间都没有。 而且,它无声地失败了。 我猜这与流程模型有关 - 但同样,它在IE 9(具有相同的流程模型)中工作正常。

这是我正在使用的特定代码片段:

private void InstallJSObject(IHTMLWindow2 window)
{
    // Install our javascript object
    IExpando windowEx = (IExpando)window;

    PropertyInfo property = windowEx.GetProperty("myBHO", System.Reflection.BindingFlags.IgnoreCase);
    if (property == null)
    {
        property = windowEx.AddProperty("myBHO");
    }
    property.SetValue(windowEx, this, null);
}

在发布之前,我研究了以下内容: http//bit.ly/R9qldf

var myATL = new ActiveXObject("MySampleATL.MyClass");

if (myATL.IsBHOInstalled)
       alert (myATL. SayHelloFromBHO());

else
       alert ("BHO isn't installed now !");

window.external.AddFavorite(<url>, "text");

这里提取。

博客的历史可以追溯到2007年4月,但是,这可能就是你要找的......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM