WebView 显示白页,但事件正在运行
Posted
技术标签:
【中文标题】WebView 显示白页,但事件正在运行【英文标题】:WebView shows a white page but events are working 【发布时间】:2012-03-18 20:39:27 【问题描述】:当一个 webview 加载完成时,它只显示一个白页。最奇怪的部分是事件(如单击锚点)仍在工作。在我执行此事件并返回(使用返回键)后,webview 被正确呈现。
此行为不会出现在搭载 android 2.3.7 的 HTC Desire 上,但会出现在搭载 Android 4.0.3 的 Asus Transformer Prime 上。
如果我将 Thread.sleep(10000) 放入 onPageFinished() 页面可见 10 秒但随后变为白色,则事件仍在工作。
Activity 是 Launcher 活动并扩展了自定义基础活动。我的应用程序中的每个活动都扩展了这个基本活动。基本活动检测用户是否被授权并显示需要登录活动。当我在显示登录活动后按下后退按钮时,启动器活动将显示上述行为。
不知道现在该怎么解决这个问题......
最简单的方法是说它是Android中的一个错误。但这并不能解决我的问题。有什么建议可以解决这种情况吗?
【问题讨论】:
如果只显示白色空白页,你怎么能点击anchore? 这是一个好问题,阿里。显然 WebView 处理 html 权利,但不绘制它。事实上,webview 绘制了一秒钟,但之后将其清除。如果我添加 Thread.sleep(10000) 它可以看到 10 秒。 可能是一些java脚本产生了问题?加载页面后运行的一些脚本! ,尝试删除所有脚本 这应该没有意义,因为 webview 大部分时间都可以工作,但值得一试。 删除 javascript 并不能解决问题。 【参考方案1】:我已经有同样的问题几个小时了,解决这个问题的方法是从我的 WebView
构造函数调用中删除以下设置:
this.setLongClickable(true);
我不知道为什么会这样。
【讨论】:
很高兴分享对你有用的东西。更好的办法是找出问题的根本原因。以上是关于WebView 显示白页,但事件正在运行的主要内容,如果未能解决你的问题,请参考以下文章
在我的 Webview 在 Android Webview App 中加载之前获取白页