【发布时间】:2020-06-21 10:08:51
【问题描述】:
我需要在导航时将查询字符串传递到 WebView Xamarin 源 (www.websiteexmple.com?mobileapp=true)。
在 Android 中运行完美,但在 IOS 中似乎有时无法正常运行。我错过了什么?
我注意到当 Net Core 网站需要进行一些重定向时,它在 IOS 中不起作用:例如:用户输入电子邮件并单击下一步。
public void WebView_NavigatingAsync(object sender, WebNavigatingEventArgs args)
{
if (!args.Url.Contains(Source) && !args.Url.Contains("facebook") && !args.Url.Contains("google"))
{
var uri = new Uri(args.Url);
// Device.OpenUri(uri);
Launcher.OpenAsync(uri);
args.Cancel = true;
}
else
{
var src = args.Url;
string prefix = "?";
if (src.Contains("?"))
{
prefix = "&";
}
if (!args.Url.Contains("mobileapp=true"))
{
args.Cancel = true;
var webview = (WebView)sender;
webview.Source = src + prefix + "mobileapp=true";
}
}
}
【问题讨论】:
-
您好,您的意思是
args.Url.Contains不起作用? -
您好,此代码将查询字符串添加到 URL 的末尾。示例: www.netcorewebsite.com?mobileapp=true 它在 Android 中完美运行。但是当 .Net Core 网站需要进行重定向时,它在 IOS 中不起作用。前用户输入电子邮件并单击下一步。