J'ai un contrôle WebBrowser sur ma page. Pour déclencher du javascript sur une page affichée dans le contrôle du navigateur, j'appelle this.myBrowser.Document.InvokeScript ("Test");Fusion de documents WebBrowser non valide
Cela fonctionne sur ma boîte de dev avec IE7, mais sur une machine de test séparé je reçois l'erreur suivante:
Exception Type: System.InvalidCastException
Message: Specified cast is not valid.
Source: System.Windows.Forms
Stack Trace:
at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation()
at System.Windows.Forms.WebBrowser.get_Document()
at InteriorHealth.EmbeddedBrowser.frmMain.CardRead(String strData) in E:\Develop\TestProject\frmMain.cs:line 265
at MyTest.frmMain.prtCardReader_DataReceived(Object sender, SerialDataReceivedEventArgs e) in E:\Develop\TestProject\frmMain.cs:line 355
La machine de test est en cours d'exécution IE6. Bien que je ne suis pas sûr, je spécule que la différence dans les versions d'IE peut être la raison de l'erreur. Est-ce que ça sonne bien? Comment est-ce que je travaille autour de ceci?
Ligne 265 de frmMain.cs est:
this.webKiosk.Document.InvokeScript(ConfigurationState.CardReader.Error.FireJavaScriptMethod);
Ligne 355 de frmMain.cs est:
CardRead(strCardData_m);
Je pense que l'exception est levée par l'appel de la propriété de document sur l'objet WebBrowser .
Merci pour cette réponse Jeremy =) J'ai juste eu le même problème, et la même solution =) – Ted