Sto cercando di sviluppare un BHO per l'anteprima di rilascio di IE 10. Il BHO deve essere in grado di consentire a javascript di chiamare una funzione C#.Chiamare i metodi C# BHO da Javascript In Internet Explorer 10 (Anteprima di rilascio)
Ho seguito le istruzioni disponibili qui:
Calling C# BHO methods from Javascript
Queste istruzioni funzionano molto bene in IE 9.
Purtroppo, ho scoperto che funzionano solo per la prima scheda creata in IE 10. Le seconde e successive schede non espongono l'interfaccia BHO a Javascript. A volte, nuove schede funzionano, ma la maggior parte delle volte non lo fanno. Inoltre, fallisce silenziosamente. Immagino che questo abbia qualcosa a che fare con il modello di processo, ma di nuovo funziona perfettamente con IE 9 (che ha lo stesso modello di processo).
Ecco il frammento di specifica di codice che sto 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);
}
Prima di postare, ho studiato il seguente: http://bit.ly/R9qldf
Si potrebbe voler inviare questo su [Microsoft Connect] (http://connect.microsoft .com) in quanto sembra più un bug per la release candidate (che è ancora un software pre-release) piuttosto che qualcosa che è stato supportato per il rilascio. Questo potrebbe benissimo essere "troppo localizzato". – casperOne
Sto riscontrando lo stesso problema con la versione rilasciata di IE10. Questo problema esiste ancora. –
Beh, come stai chiamando InstallObject? Se stai seguendo questo articolo: http://www.codeproject.com/Articles/19971/How-to-attach-to-Browser-Helper-Object-BHO-with-C Quante volte vieni SetSite chiamato? Dovrebbe essere chiamato una volta per browser. Inoltre, ricorda, ogni scheda è un processo diverso, quindi se stai utilizzando il debugger per la verifica, dovrai allegare a ciascun processo. –