我正在尝试为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