解决WebView通过URL加载H5界面出现空白的问题_Android

来源:脚本之家  责任编辑:小易  

用fragment是webview加载完成后在显示在fragment上。。肯定会有一定延时的。。。加

1.权限问题:在配置文件中需要设置网络权限

ajax跨域,要使用jsonp 这种方式建议你查看jquery API有说明服务器要返回一个

<uses-permission android:name="android.permission.INTERNET" />

1、webView.loadUrl();直接显示网页内容(单独显示网络图片),一般不会出现乱码。

2.基本配置问题

你要加载的内容是不是很多?我这边也有这个问题,如果加载内容超过了webview 默认的高度以后,那么

WebSettings webSettings = webView.getSettings(); //支持缩放,默认为true。

cookieManager.removeAllCookie();之前就是没有加这句代码,才导致这个W

.setUseWideViewPort(true); // 缩放至屏幕的大小 webSettings

“你说,修地铁的时候,原来的那些土都到哪去了?”从天安门西站刚坐上地铁还没到西单,刚刚还一脸兴奋的李老三突然满面愁容地问我。真够操心的。北京地铁里的土离老家玉米地里的土隔着好几百里地呢。伺候好玉米地里的土就已经够累的了,哪还有心思和力气管首都人民的一亩三分地。“运走了呗。还能咋?”我懒得回答。李老三瞥了我一眼,显然是对我的答案不满意。也难怪,虽然我在北京每天要有两个多小时因为坐地铁上下班而不见天日,但在李老三眼里,这并不妨碍我仍然是我们村里最见过世面的人。“这么多土,咋运?我看,肯定是在地铁下面重新挖了坑,把土埋里边了。”把土挖坑埋起来?!亏他想得出来……我真不知道是要晕倒还是要跪倒。“那新挖

.setLoadWithOverviewMode(true); //设置默认编码

细支烟虽然是市场的新贵,但是,提到细支烟,许多人都会认为,这款卷烟的主要消费群体限定于女性。其实,市场调查显示,细支烟的消费群体80%以上是男性,女性只占很小部分,虽然这与女性烟民相对较少有关系,但也侧面说明,男性烟民对细支烟并不排斥。特别是,一些高端品牌也纷纷推出细支烟,如“南京(细支九五)”,“苏烟(沉香)”、利群(休闲云端)、云烟(大重九细支)、黄金叶(天叶细支)等都达到了每条千元档,这可不是只用于玩味的女性客户所愿意消费的档次。最后,香烟也被称为精神口粮,并不像衣服一样对使用者有明显的界定,是属于男女皆宜的商品。一支细支卷烟其烟丝含量仅为正常卷烟量的一半甚至三分之一。同样一支细吸完,其

webSettings .setDefaultTextEncodingName("utf-8"); ////设置自动加载图片

曾经看到过无数的叫停,因为老人在最后的时候还疾病缠身,结果花光了家里所有的积蓄,然后自己的家庭和自己的亲人也要跟着自己在担惊受怕。但是有没有人能想过当事人的感受呢,自己的生命走到尽头,因为自己承受不了自己的孱弱,自己承受不了痛苦希望能在最后用一种有最严的方式离开,不让自己承受那种因为自己的身体带来的没有最严的生活,因为自己可以在另外一个地方安静地生活,即使那个地方已经是天国了。但是有多少人能真正的理解当事人的心愿呢?即使为了自己的良知,我们也不愿意让生命结束,因为我们可能就是舍不得亲人去世,舍不得因为自己的一念之差让自己的亲人离开,因为我们觉得自己会后悔,但是我们有没有想过,我们这样做是为了什

webSettings .setLoadsImagesAutomatically(true);

哈喽宝宝们。好的爱情总是让人羡慕,不管何时何地两个人都会心中想着对方。前几天李嘉诚被网友偷拍,和女友逛街的时候,李嘉诚都不忘紧紧抓着对方的手。89岁的李嘉诚和57岁的周凯旋,早已过了爱情轰轰烈烈的时候,可就是这样一对步入晚年的情侣,却和我们阐述着生命才是真正的爱情。不止这样,私下里李嘉诚还会偷偷帮女友拍照。下雨的时候两人打着一把伞,能看出来爱意满满,妹妹这个单身狗又被塞了满满一嘴狗粮。其实李嘉诚的妻子是庄月明,当初两人在一起的时候被很多人不看好,庄月明出身富贵,才貌双全。可李嘉诚当时事业刚刚起步不久,可庄月明还是不顾旁人的眼光,嫁给了李嘉诚。后来李嘉诚的事业越来越好,两人的感情也日渐浓厚,可就

.settings.setJavaScriptEnabled(true);// 设置可以运行JS脚本

.settings.setSupportZoom(false);// 用于设置webview放大

.settings.setBuiltInZoomControls(false);

3.出现Uncaught TypeError: Cannot call method 'getItem' of null异常

这个行出现了异常,这个正是html5的特性,一个本地存储的东西,存储量比cookie大,但是这个必须在android的webview用代码启动才行

解决方法:启动webview的html5的本地存储功能。

webview.getSettings().setDomStorageEnabled(true);

webview.getSettings().setAppCacheMaxSize(1024*1024*8);

String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();

webview.getSettings().setAppCachePath(appCachePath);

webview.getSettings().setAllowFileAccess(true);

webview.getSettings().setAppCacheEnabled(true);

4.调用getDeviceID 方法的时候,js没有加载完毕,导致出现空白

解决办法:

webview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); //在这里执行你想调用的js函数 if(!flag_get_deviceid){ load(); } } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); } }); private boolean flag_get_deviceid=false; public void load(){ String key=""; String androidID=""; try{ androidID = Secure.getString(getContentResolver(),Secure.ANDROID_ID); Log.d(TAG, "androidID:"+androidID);}catch(Exception e){ Log.e(TAG, ""); }finally{ String script=String.format("javascript:getDeviceID('"+androidID+"')"); webActDetail.evaluateJavascript(script, new ValueCallback<String>() { @Override public void onReceiveValue(String value) { Log.d(TAG, "onReceiveValue value=" + value); if(value!=null){ flag_get_deviceid=true; } }}); } }

5.android手机版本问题,现在H5界面实现多样化,导致很多H5界面在低版本的机型上无法展示或者样式错乱

解决办法:一种是重新设计低版本的h5界面,另一种设置项目最低版本

补充知识:WebView-使用WebView依次访问Url列表

有时候,我们需要使用WebView依次访问Url列表,来刷新网页;

1.1 WebView创建

webView = (WebView) findViewById(R.id.webview);

1.2 WebView设置参数

// 设置缓存 webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); // 不设置缓存 // webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 清理缓存 webView.clearCache(true); // 清理历史记录 webView.clearHistory(); // 清理cookies CookieSyncManager.createInstance(this); CookieSyncManager.getInstance().startSync(); CookieManager.getInstance().removeSessionCookie(); // 设置可以支持缩放 webView.getSettings().setSupportZoom(true); // 设置出现缩放工具 webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setJavaScriptEnabled(true);

1.3 获取Url列表

int index = 0; String [] strList = new String[]{"https://www.zgxue.com", "https://www.jd.com","https://www.csdn.net",https://www.baidu.com};

1.4 WebView设置WebViewClient

// 直接创建WebViewClient webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); index++; if(index>artStr.length){ }else { webView.clearCache(true); webView.clearView(); Log.i("===onPageFinished====", index + "======="); refreshWebpage(index); } } });

1.5 WebView加载Url

public void refreshWebpage(int index) { String csdnStr = urlStr + artStr[index]; // 直接调用url webView.loadUrl(csdnStr); }

以上这篇解决WebView通过URL加载H5界面出现空白的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

AndroidwebView加载公司的H5页面只出现了H5的加载页面,后续的页面就是一片空白是怎么回事?(微信可以打开)

楼主换个浏览器试试看,帮忙采纳下吧,谢谢您,祝您生活愉快。

个人是做android使用Webview加载H5的时候,网络图片显示不出来,是空白的

是不是你的android工程的编译版本太低了,切换到4.4的试试看。我就遇到过这样的情况,有些webview的方法被禁止了,导致无法显示。

Android app webview加载网页时出现空白 有没有办法去掉

可以加个进度条来提高用户体验。

安卓webview加载html5页面为什么会有白色的背景

简单处理方式: public class WebViewDemo extends Activity { private WebView mWebView; private Handler mHandler = new Handler(); public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.webviewdemo);本回答被提问者采纳

  • 本文相关:
  • android中webview加载h5绑定cookie实例
  • android实现清除单个域名的cookie
  • 解决android webview设置cookie和cookie丢失的问题
  • android实现界面左右滑动切换功能
  • android平台下轻量级http网络传输库
  • 浅谈viewpager和轮播图的冲突解决方法
  • android使用circular reveal动画让页面跳转更炫酷
  • android实现蒙板效果
  • android 弹出软键盘所遇到的坑及解决方法
  • eclipse打开时“发现了以元素''d:skin''”开头的无效内容。此处不
  • 浅析android之adapter用法总结
  • android仿微信底部实现tab选项卡切换效果
  • 浅谈android编码规范及命名规范
  • AndroidwebView加载公司的H5页面只出现了H5的加载页面,后续的页面就是一片空白是怎么回...
  • 个人是做android使用Webview加载H5的时候,网络图片显示不出来,是空白的
  • Android app webview加载网页时出现空白 有没有办法去掉
  • 安卓webview加载html5页面为什么会有白色的背景
  • android中用webView来显示内容,为什么内容下面会出现大一片空白???
  • android开发,使用fragment加载webview,加载出现1秒空白。
  • android webview加载html5出现跨域问题怎么解决
  • 如何解决AndroidWebView出现的问题1,web
  • android 中用webview 显示本地html,为什么里面的内容显示不出来
  • android webview 第一次加载h5 cookie 为空 怎么解决
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页androidandroid中webview加载h5绑定cookie实例android实现清除单个域名的cookie解决android webview设置cookie和cookie丢失的问题android实现界面左右滑动切换功能android平台下轻量级http网络传输库浅谈viewpager和轮播图的冲突解决方法android使用circular reveal动画让页面跳转更炫酷android实现蒙板效果android 弹出软键盘所遇到的坑及解决方法eclipse打开时“发现了以元素""d:skin""”开头的无效内容。此处不浅析android之adapter用法总结android仿微信底部实现tab选项卡切换效果浅谈android编码规范及命名规范一看就懂的android app开发入门教微信公众平台开发入门教程(图文详android基础之使用fragment控制切六款值得推荐的android(安卓)开android textview设置中文字体加android应用开发sharedpreferencandroid 动画之translateanimatiandroid压力测试命令monkey详解android按钮单击事件的四种常用写android调试工具ddms的使用详解androidgui27中findviewbyid返回null的快详解android的mvvm框架 - 数据绑定android编程之sms读取短信并保存到sqlite实例讲解android app开发中listview的基本android sqlite详解及示例代码android 关闭多个activity的实现方法android实现textview显示html加图片的方法qt qml中listview 列表视图控件(下拉刷新浅谈android组件化之arouter简单使用android 轻松实现语音识别详解及实例代码
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved