Xamarin.ios 表单:如何在WebView中添加自定义HTTP头(所有请求+;css+;js)?

Xamarin.ios 表单:如何在WebView中添加自定义HTTP头(所有请求+;css+;js)?,xamarin.ios,xamarin.android,http-headers,xamarin.forms,Xamarin.ios,Xamarin.android,Http Headers,Xamarin.forms,我已经用自定义WebViewRender和MyWebViewClient实现了这一点,但我认为在iOS和Android上可以做得更好。 我将感谢任何帮助。如果仅在PCL(Xamarin.Forms)的帮助下就可以简化此过程 谢谢 公共类WebViewRender:WebViewRenderer { 受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e) { 基础。一个要素发生变化(e); if(控件!=null) { var webView=控制为

我已经用自定义WebViewRender和MyWebViewClient实现了这一点,但我认为在iOS和Android上可以做得更好。 我将感谢任何帮助。如果仅在PCL(Xamarin.Forms)的帮助下就可以简化此过程 谢谢

公共类WebViewRender:WebViewRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
var webView=控制为Android.Webkit.webView;
字典头=新字典
{
[“名称”]=“值”
};
SetWebViewClient(新的MyWebViewClient());
LoadUrl(Control.Url,标题);
}
}
}
公共类MyWebViewClient:WebViewClient
{
公共覆盖bool ShouldOverrideUrlLoading(Android.Webkit.WebView视图,字符串url)
{
字典头=新字典
{
[“名称”]=“值”
};
LoadUrl(url、标题);
返回true;
}
}

没有想法吗?我将非常感谢您的帮助。我看到您已经尝试覆盖
ShouldOverrideUrlLoading
,您可以在那里添加标题,这是纯PCL的。所以,我不知道你在问什么。有没有可能添加在Android和iOs上都适用的通用逻辑?是的,有可能。没有想法?我将非常感谢您的帮助。我看到您已经尝试覆盖
ShouldOverrideUrlLoading
,您可以在那里添加标题,这是纯PCL的。所以,我不知道你在问什么。有没有可能添加在Android和iOs上都适用的通用逻辑?是的,有可能。
public class WebViewRender : WebViewRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
    {
        base.OnElementChanged(e);
        if (Control != null)
        {
            var webView = Control as Android.Webkit.WebView;
            Dictionary<string, string> headers = new Dictionary<string, string>
            {
                ["Name"] = "value"
            };
            webView.SetWebViewClient(new MyWebViewClient());
            webView.LoadUrl(Control.Url, headers);
        }
    }
}
public class MyWebViewClient : WebViewClient
{
    public override bool ShouldOverrideUrlLoading(Android.Webkit.WebView view, string url)
    {
        Dictionary<string, string> headers = new Dictionary<string, string>
        {
            ["Name"] = "value"
        };
        view.LoadUrl(url, headers);
        return true;
    }
}