我正在尝试为IE 10的发布预览开发BHO .BHO需要能够允许javascript调用C#函数。
我按照此处提供的说明进行操作:
Calling C# BHO methods from Javascript
这些说明在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
答案 0 :(得分:0)
var myATL = new ActiveXObject("MySampleATL.MyClass");
if (myATL.IsBHOInstalled)
alert (myATL. SayHelloFromBHO());
else
alert ("BHO isn't installed now !");
window.external.AddFavorite(<url>, "text");
摘自here。
博客的日期可以追溯到4月和07年,但是,这可能就是你要找的......