How to set webview mobile to desktop mode using Xamarin

问题描述 投票:0回答:1

试过这个

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
        webView.Source = "https://www.example.com/";
        webView.Navigating += WebView_Navigating;
    }

    private void WebView_Navigating(object sender, WebNavigatingEventArgs e)
    {
        // Set the User-Agent string to a desktop browser user agent
        webView.Eval("navigator.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'");
    }
}

请帮助使用 Xamarin 更改为桌面模式

c# xamarin xamarin.forms xamarin.android android-webview
1个回答
0
投票

在 Android 中,您必须实现自定义渲染器。

在 Android 文件夹中创建自定义渲染器(DesktopWebViewRenderer.cs):

[assembly: ExportRenderer(typeof(WebView), typeof(DesktopWebViewRenderer))]
namespace forms.Droid
{
    public class DesktopWebViewRenderer : WebViewRenderer
    {
        public DesktopWebViewRenderer(Context context): base(context)
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
        {
            base.OnElementChanged(e);

            Control.Settings.UserAgentString
                = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36";

        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.