【Xamarin.Forms】WebViewのURL遷移をフックする

こんにちは。
札幌事業所のYです。

先日タイトルにあるように、Xamarin FormsのWebViewでURL遷移をフックしたい場面がありましたので、備忘録も兼ねて残します。

URL遷移をフックするには下記イベントを使用します。

public event EventHandler<Xamarin.Forms.WebNavigatingEventArgs> Navigating;

例えば特定のドメインを含むURLにのみ遷移を許可したい場合なんかは以下のように書くといいみたいです。

private void OnNavigating(object sender, WebNavigatingEventArgs e){

Uri uri = newUri(e.Url);

if(uri.Host.Contains("特定のドメイン") == false){ e.Cancel = true; }

}

ポイントはWebNavigatingEventArgsのCancelをtrueにすると遷移がキャンセルされるというところです。

以上です。

※上記は会社の公式見解でなく、あくまで個人の見解です。