Xamarin中WebView问题记录

1.使用WebView进行浏览器嵌套时, WebView会打开手机中默认浏览器,而不是嵌套在WebView当中。web

解决方法:重写WebViewClientShouldOverrideUrlLoading方法。浏览器

public class WebViewCustClient : WebViewClient
{
    public override bool ShouldOverrideUrlLoading(WebView view, string url)
    {
        view.LoadUrl(url);
        return base.ShouldOverrideUrlLoading(view, url);
    }
    public override void OnPageStarted(WebView view, string url, Bitmap favicon)
    {
        base.OnPageStarted(view, url, favicon);
    }
}

2.打开www.baidu.com等页面没问题,可是打开一些页面加载不出显示为空白时。ide

解决方法:对WebSetting的设置所有设置。ui

WebView webview = FindViewById<WebView>(Resource.Id.webView1);
//设置可自由缩放网页  
WebSettings set = webview.Settings;

set.JavaScriptCanOpenWindowsAutomatically = true;   
set.JavaScriptEnabled = true;                       
set.SetSupportZoom(true);
set.BuiltInZoomControls = true;                     
set.UseWideViewPort = true;                         
set.CacheMode = CacheModes.Default;                 
set.SetLayoutAlgorithm(LayoutAlgorithm.SingleColumn);
set.LoadWithOverviewMode = true;                    
set.SetAppCacheEnabled(true);
set.DomStorageEnabled = true;                       
webview.SetWebViewClient(new WebViewCustClient());
webview.LoadUrl("");
相关文章
相关标签/搜索