Откройте пустую страницу с помощью WKWebViewRenderer, если в формах xamarin URI равен нулю - PullRequest
0 голосов
/ 28 апреля 2020

Я использую WKWebView Renderer для моего приложения. В случае, если URL-адрес недействителен / если URL-адрес является строкой, я хотел бы показать пустую веб-страницу. Как я могу назначить это в моем рендерере?

if (e.NewElement != null)
            {
                HybridWebView hybridWebView = e.NewElement as HybridWebView;

                var uri = hybridWebView.Uri.ToString();

                if (uri.StartsWith("http") || uri.StartsWith("https"))
                {
                    LoadRequest(new NSUrlRequest(new NSUrl(uri)));
                }
                else 
                {
                    LoadHtmlString($"{uri}", null);
                }

                }


            }

1 Ответ

0 голосов
/ 28 апреля 2020

Попробуйте использовать следующий код:

if (e.NewElement != null)
{
    HybridWebView hybridWebView = e.NewElement as HybridWebView;

    var uri = hybridWebView.Uri.ToString();

    if (uri.StartsWith("http") || uri.StartsWith("https"))
    {
         LoadRequest(new NSUrlRequest(new NSUrl(uri)));
    }
    else 
    {
         string nullBodyHtml = "<html><body></body></html>";
         LoadHtml(nullBodyHtml, null);
    }

}

Вы можете настроить nullBofyHtml, чтобы в представлении отображался эффект по умолчанию, если uri равно нулю.

Например: string nullbodyString = "<html><body><h1>Xamarin.Forms invalid url</h1></body></html>";

Эффект выглядит следующим образом:

enter image description here

...