触摸网站中的项目或菜单时,网站无法在 WebView 上正常工作

Website dont work correctly on WebView when touching on item or menu in website

当触摸网站中的项目或菜单时,网站无法在 WebView 上正常工作

我阅读了其他解决方案,它是关于 phonegap 和本机应用程序的

我需要针对 Android Studio 我的设备是 Galaxy

的解决方案
 05-26 10:57:55.543   E/webcoreglue﹕ Should not happen: no rect-based-test nodes found
05-26 10:57:55.633   V/WebViewInputDispatcher﹕ blockWebkitDraw
05-26 10:57:55.633   V/WebViewInputDispatcher﹕ blockWebkitDraw lockedfalse

出现这个问题是因为在某些情况下WebView没有注意到它的可见矩形已经改变,所以对于webkit来说页面仍然不可见。因此所有接触都落在 window 之外,并被拒绝。

最干净的修复方法是当您知道 WebView 的可见性发生变化时(例如响应来自 ViewPagersetPrimaryItem 回调),调用

webview.onScrollChanged(webview.getScrollX(), webview.getScrollY());

您需要子类化 WebView 以将受保护的 onScrollChanged 提升为 public 方法。

我找到了另一个解决方案。在扩展 WebView:

的 class 中使用它
@Override
public boolean onTouchEvent(MotionEvent event) {

if (event.getAction() == MotionEvent.ACTION_DOWN){

    int temp_ScrollY = getScrollY();
    scrollTo(getScrollX(), getScrollY() + 1);
    scrollTo(getScrollX(), temp_ScrollY);

}

return super.onTouchEvent(event);
}