xamarin - 如果 uri 在 xamarin 表单中为空,则使用 WKWebViewRenderer 打开一个空页面
问题描述
我正在为我的应用程序使用 WKWebView 渲染器。如果 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);
}
}
}
解决方案
试试下面的代码:
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
为 null 时显示默认效果。
如 :string nullbodyString = "<html><body><h1>Xamarin.Forms invalid url</h1></body></html>";
效果如下:
推荐阅读
- swift - 依赖注入:静态方法和参数
- amazon-web-services - 如何在现有 AWS 存储桶中创建多个文件夹
- javascript - 防止包含数字的 Javascript 字符串丢弃零
- wpf - 如何找到使用 TextChanged 添加的文本
- ibm-mq - 无法将应用程序连接到队列管理器,出现错误 JMSWMQ2013
- asp.net-mvc - 如何在 Visual Studio 2017 中使用 ASP.NET Core v2 基于现有 SQL 表创建模型
- java - 在 Eclipse 中以特定行号打开 XML 文件
- sql-server - 将表列转换为行
- python-2.7 - approx_fprime - ValueError:使用序列设置数组元素
- python - 如何在 python PyQt5 中的对话框之间发送数据