Xamarin WebView请求桌面站点

Min*_*Kao 2 mobile webview xamarin xamarin.forms

有没有办法通过C#询问iOS和Android WebView组件来请求桌面网站?

Sve*_*übe 10

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

Android的

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

// this line directly ubleow usings, before namespace declaration
[assembly:ExportRenderer(typeof(WebView), typeof(DesktopWebViewRenderer))]

// this in your namespace
public class DesktopWebViewRenderer : WebViewRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
    {
        base.OnElementChanged(e);

        Control.Settings.UserAgentString = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
    }
}
Run Code Online (Sandbox Code Playgroud)

iOS版

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

NSUserDefaults.StandardUserDefaults.RegisterDefaults(new NSDictionary("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"));
Run Code Online (Sandbox Code Playgroud)

你的启动代码中的某些地方.比如FinishedLaunching你的AppDelegate.