1.使用WebView进行浏览器嵌套时, WebView会打开手机中默认浏览器,而不是嵌套在WebView当中。
解决方法:重写WebViewClient 的ShouldOverrideUrlLoading方法。
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等页面没问题,但是打开一些页面加载不出显示为空白时。
解决方法:对WebSetting的设置全部设置。
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("");