Estoy tratando de desarrollar un BHO para la versión preliminar de IE 10. El BHO debe poder permitir que javascript llame a una función C#.Llamando a los métodos C# BHO de Javascript En Internet Explorer 10 (Previsualización de versión)
He seguido las instrucciones disponibles aquí:
Calling C# BHO methods from Javascript
Estas instrucciones funcionan muy bien en IE 9.
Por desgracia, he encontrado que sólo funcionan por primera pestaña creada en IE 10. La segunda pestaña y las siguientes no exponen la interfaz de BHO a Javascript. En ocasiones, las pestañas nuevas funcionan, pero la mayoría de las veces no. Además, falla silenciosamente. Supongo que esto tiene algo que ver con el modelo de proceso, pero de nuevo, funciona bien en IE 9 (que tiene el mismo modelo de proceso).
Aquí es el fragmento de código específica que estoy usando:
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);
}
Antes de publicar, he investigado lo siguiente: http://bit.ly/R9qldf
Es posible que desee publicar esto en [Microsoft Connect] (http://connect.microsoft .com) ya que parece más un error para el candidato de lanzamiento (que todavía es un software de lanzamiento previo) en lugar de algo que ha sido respaldado para su lanzamiento. Esto bien podría ser "demasiado localizado". – casperOne
Estoy viendo el mismo problema con la versión de lanzamiento de IE10. Este problema todavía existe. –
Bueno, ¿cómo llamas a InstallObject? Si está siguiendo este artículo: http://www.codeproject.com/Articles/19971/How-to-attach-to-Browser-Helper-Object-BHO-with-C ¿Cuántas veces está recibiendo? SetSite llamado? Se debe llamar una vez por navegador. Además, recuerde, cada pestaña es un proceso diferente, de modo que si solo está utilizando el depurador para verificar, deberá adjuntarlo a cada proceso. –