Mobile Xamarin WebView请求桌面站点

Mobile Xamarin WebView请求桌面站点,mobile,webview,xamarin,xamarin.forms,Mobile,Webview,Xamarin,Xamarin.forms,有没有办法通过C#请求iOS和Android WebView组件请求桌面站点 适当设置用户代理字符串。在Xamarin表单中无法直接执行此操作,您需要编写一个 iOS UIWebView NSUserDefaults.StandardUserDefaults.RegisterDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko)

有没有办法通过C#请求iOS和Android WebView组件请求桌面站点

适当设置用户代理字符串。在Xamarin表单中无法直接执行此操作,您需要编写一个

iOS UIWebView

NSUserDefaults.StandardUserDefaults.RegisterDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"]);
iOS9+WKWebView

web.CustomUserAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36";
安卓

string agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
web.Settings.UserAgentString = agent;

您需要在每个平台上执行此操作

Android

在Android中,您必须实现自定义渲染器。将此添加到您的Android代码中:

//这一行直接使用ubleow,在名称空间声明之前
[程序集:ExportRenderer(typeof(WebView)、typeof(DesktopWebViewRenderer))]
//这在您的命名空间中
公共类DesktopWebViewRenderer:WebViewRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
Control.Settings.UserAgentString=“Mozilla/5.0(X11;U;Linux i686;en-US;rv:1.9.0.4)Gecko/20100101 Firefox/4.0”;
}
}
iOS

Xamarin Forms正在使用UIWebView,因此您必须调用

NSUserDefaults.StandardUserDefaults.RegisterDefaults(新的NSDictionary(“UserAgent”),
“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_9_3)AppleWebKit/537.75.14(KHTML,类似Gecko)版本/7.0.3 Safari/7046A194A”);

在启动代码中的某些位置。例如,在您的
AppDelegate的
FinishedLaunching
中,对于iOS:Android:谢谢Sven Michael。这里是Xamarin的新成员。我如何分别在.iOS和.Android版本的应用程序中调用这些函数?您可以为WebViewThank。。这对我很有帮助。。现在是印度的晚上11点52分。。晚安