Я пытаюсь разработать BHO для предварительной версии IE 10. BHO должен иметь возможность разрешить javascript вызывать функцию C #.
Я следовал инструкциям, доступным здесь:
Вызов методов C #BHO из 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