17 votes

WebView InvokeScript HRESULT 0x80020101

J'essaie d'invoquer une fonction dans une WebView. Les fonctions cibles que je dois appeler sont les suivantes :

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";
}

J'ai commencé par appeler

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

mais cela n'a pas fonctionné, HRESULT : 0x80020101. J'ai trouvé ceci http://support.microsoft.com/kb/247784 sur le sujet, mais ça ne m'a pas du tout aidé.

J'ai ensuite essayé de faire ce que j'ai trouvé comme exemple sur plusieurs sites :

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

et

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

mais les deux n'ont pas fonctionné, donnant le même code HRESULT. Le WebView s'affiche normalement et le javascript fonctionne bien sur la page.

J'apprécierais toute aide pour identifier le problème / trouver une solution.

EDIT : Il semble que "alert" et toutes les méthodes qui sont déclarées dans les classes ne fonctionnent pas. Il semble qu'il y ait eu un InvokeMethod(..) dans les versions précédentes de .NET, y a-t-il des alternatives pour WinRT ?

29voto

Wieser Software Ltd Points 547

Cette erreur se produit lorsque vous avez une erreur de syntaxe dans le javascript, il apparaît.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X