upgrading that sesión script requiere problemas please para iniciar google funciona enable deshabilitar cómo consider con chrome and activar c# internet-explorer-8 bho

c# - sesión - to view this video please enable javascript and consider upgrading to a web browser that



BHO exponiendo el método javascript funciona en IE 9+ pero falla en versiones anteriores (1)

Encontré una respuesta en Stack Overflow. Solo tienes que cambiar el código a esto:

public void InjectScriptResource(dynamic window) { var windowEx = (IExpando)window; if (windowEx.GetProperty("signJson", BindingFlags.Default) == null) { // windowEx.AddProperty("signJson"); PropertyInfo p = windowEx.AddProperty("signJson"); // window.signJson = this; p.SetValue(windowEx, this); } }

Estoy haciendo un BHO que expone el método a JavaScript.

Funciona bien en IE 9 e IE 10, pero falla en IE 8 con RuntimeBinderException : "mshtml.HTMLWindow2Class" does not contain "signJson" .

El código se basa principalmente en la extensión de IE de recarga en vivo .

Aquí hay una forma en que la función se inyecta en la ventana:

public void InjectScriptResource(dynamic window) { var windowEx = (IExpando)window; if (windowEx.GetProperty("signJson", BindingFlags.Default) == null) { windowEx.AddProperty("signJson"); window.signJson = this; } }

¿Qué hay de diferente sobre mshtml.HTMLWindow2Class en IE 8 desde IE 9? ¿Cuál es la forma correcta de inyectar el método?