2012-04-25 15 views
9

Estoy intentando invocar una función en un WebView. Algunas funciones objetivo que necesito para llamar son los siguientes:WebView InvokeScript HRESULT 0x80020101

play: function() 
{ 
    if (this.value < this.p.max) 
    { 
     this.inc(); 
     this.timer = new it_timer({ object: this, method: "play", timeout: 200 }); 
    } 
    else 
     this.stop(); 
}, 
stop: function() 
{ 
    if (this.timer) 
     this.timer.stop(); 
    this.playing = false; 
    this.playbutton.style.backgroundPosition = "0 0"; 
} 

empecé llamando

webView.InvokeScript("play", new string[0]); 

pero eso no funcionó, HRESULT: 0x80020101. Encontré este http://support.microsoft.com/kb/247784 sobre el tema, pero no me ayudó en absoluto.

entonces he tratado de hacer lo que he encontrado como un ejemplo en varios sitios:

webView.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;"); 

y

webView.InvokeScript("alert", new string[] {"message"}); 

pero ambas cosas no funcionó, dando el mismo código HRESULT. El WebView se renderiza normalmente y javascript funciona bien en la página.

Agradecería cualquier ayuda para identificar el problema/encontrar una solución.

EDITAR: Parece "alerta" y todos los métodos que se declaran en las clases no funcionan. Parece que ha habido un InvokeMethod (..) en versiones anteriores de .NET, ¿hay alguna alternativa para WinRT?

+0

También me gustaría saber esto y sería muy feliz si alguien puede resolver esto o llamar a alguien en Microsoft para responder a esto. – Akku

Respuesta

17

Ese error se produce cuando aparece un error de sintaxis en el javascript.

+1

¡Hombre, ERES EL MEJOR! – Hilmi

+0

Gracias, y perdón por no marcarlo como una respuesta por tanto tiempo. Realmente no ayudé en mi caso, lamentablemente, porque no controlo el javascript. – SBoss