5

アプリに Webview があり、タップをインターセプトして、アプリの Webview 内ではなく IE でリンクを開きたいと考えています。

NavigationFailed および LoadingComplete イベントのみが表示され、傍受できる「ナビゲートしようとしている」イベントに関しては何も表示されません。

4

1 に答える 1

8

ナビゲーション イベントをキャッチする方法がないようです。ただし、window.external.notify() を使用して、JavaScript で呼び出されたスクリプト イベントをインターセプトできます。

ページが自分でホストしているものであると仮定すると、置き換えることができます

<a href="http://www.lightwoodgames.com">LINK</a>

<a href="javascript:window.external.notify('http://www.lightwoodgames.com')">LINK</a>

次に、プロジェクトに追加します

webview.ScriptNotify += webview_ScriptNotify;
webview.AllowedScriptNotifyUris = WebView.AnyScriptNotifyUri;

protected async void webview_ScriptNotify(object sender, NotifyEventArgs e)
{
  await Windows.System.Launcher.LaunchUriAsync(new Uri(e.Value));
}
于 2012-10-01T09:55:22.843 に答える