アプリに Webview があり、タップをインターセプトして、アプリの Webview 内ではなく IE でリンクを開きたいと考えています。
NavigationFailed および LoadingComplete イベントのみが表示され、傍受できる「ナビゲートしようとしている」イベントに関しては何も表示されません。
アプリに Webview があり、タップをインターセプトして、アプリの Webview 内ではなく IE でリンクを開きたいと考えています。
NavigationFailed および LoadingComplete イベントのみが表示され、傍受できる「ナビゲートしようとしている」イベントに関しては何も表示されません。
ナビゲーション イベントをキャッチする方法がないようです。ただし、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));
}