android webview以前的内容在后台

时间:2012-04-11 14:48:23

标签: javascript android webview loading visual-glitch

由于使用透明背景而不确定这是否是一个问题,但我使用webview向用户显示网页,但是如果用户从链接加载另一个网址或javascript用于动态插入新内容渲染的页面似乎有些毛刺。

故障我的意思是页面保留在后台,而新内容/页面加载到前台。它们最终重叠并使一切变得非常难以理解。

我在webview上关闭了hardwareacceleration以启用透明背景,是否会导致问题?

这与此问题类似Android Webview Content Overlapping While Using Transparent Background

非常感谢。

2 个答案:

答案 0 :(得分:0)

这是因为我有透明的背景,我删除了它,没关系。不是最好的解决方案,而是一个比有毛刺图形更受欢迎的解决方案。我通过将CSS背景属性与我的WebView所在位置相匹配来模仿透明背景。

答案 1 :(得分:0)

在Google TV上遇到同样的问题并设法通过强制WebKit从jQuery重绘DOM来解决这个问题:

$('<style></style>').appendTo($(document.body)).remove();

或(如果你不喜欢jQuery):

document.body.style.display='none';
document.body.offsetHeight;
document.body.style.display='block';

您可以像在webView.loadUrl("javascript:(function(){ /* put the force-redraw-code here */ })()")中一样从Android动态注入任一代码片段,也可以在更改DOM后直接从JavaScript执行。

How can I force WebKit to redraw/repaint to propagate style changes?

的更多相关修正