0

不确定这是否是由于使用透明背景而导致的问题,但我正在使用 webview 向用户显示网页,但是如果用户从链接加载另一个 url 或使用 javascript 将新内容动态插入页面渲染似乎出现故障。

故障是指页面保留在后台,而新内容/页面加载到前台。它们最终重叠并使所有内容变得非常不可读。

我在 webview 上关闭了硬件加速以启用透明背景,这会导致问题吗?

它类似于这个问题Android Webview Content Overlapping While Using Transparent Background

非常感谢。

4

2 回答 2

0

这是因为我有透明背景,我删除了它,没关系。不是最好的解决方案,而是一种优于具有故障图形的解决方案。我通过将 CSS 背景属性与我的 WebView 所在位置匹配来模仿透明背景。

于 2012-04-18T09:19:08.993 回答
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';

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

更多相关修复在如何强制 WebKit 重绘/重绘以传播样式更改?

于 2013-04-08T14:09:32.680 回答