17

WebViewで関数を呼び出そうとしています。呼び出す必要のあるターゲット関数は次のとおりです。

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

私は電話することから始めました

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

しかし、それはうまくいきませんでした、HRESULT:0x80020101。このトピックでこのhttp://support.microsoft.com/kb/247784を見つけましたが、まったく役に立ちませんでした。

次に、複数のサイトで例として見つけたものを実行しようとしました。

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

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

しかし、どちらも機能せず、同じHRESULTコードが返されました。WebViewは正常にレンダリングされ、javascriptはページ上で正常に機能します。

問題の特定/解決策の発見にご協力いただければ幸いです。

編集:「アラート」のようで、クラスで宣言されているすべてのメソッドが機能しません。以前の.NETバージョンにはInvokeMethod(..)があったようですが、WinRTの代替手段はありますか?

4

1 に答える 1

29

このエラーは、JavaScriptに構文エラーがある場合に発生します。

于 2012-10-13T08:11:41.170 に答える