2

実行時にnavigating url( )を取得するためにこのJSを注入しています。destinationJS例外が発生しています。なにが問題ですか?

     static String NAVIGATING_FUNCTION = "window.onbeforeunload = function(){ window.external.notify(' + location.href + ''); };";
     webView.InvokeScript("eval", new String[] { NAVIGATING_FUNCTION });

またcancel the navigation、このJSを使用して前のページに戻る方法を教えてください。

4

1 に答える 1

1

私が正しく理解していれば、私はまだWebViewを使用していないので、離れる前に現在の場所を報告してからキャンセルしますか?

あなたはこれを試すことができます:

window.onbeforeunload = function(){ window.external.notify(location.href); return false; };

なぜそこに引用符があったのかわかりません。location.hrefそのWebビューに表示され、文字列として渡されます。

また、このスレッドへの応答を見てください。それらの1つは言う:

問題は解決しましたか?リリースプレビューでは、次のようなコードを追加する必要があります。

        List<Uri> allowedUris = new List<Uri>();
        allowedUris.Add(e.Uri);
        allowedUris.Add(new Uri("http://www.bing.com"));
        Browser.AllowedScriptNotifyUris = allowedUris;

もう1つ、このスレッド:Metro WebViewコントロールの現在のHTMLまたはURIを取得できますか?、LoadCompletedイベントハンドラーについて説明します。

それが役立つかどうかを確認してください。

于 2012-12-10T21:00:07.643 に答える