Подтвердить что ты не робот

Как исправить "Пропустить перетащить, поскольку мы ждем ответа WebCore на прикосновение"

Я разрабатываю приложение для Android на базе webView и пытаюсь захватить сенсорные события. однако он не работает, и я увидел это сообщение в журнале:

"Пропустите перетаскивание, поскольку мы ждем ответа WebCore для прикосновения"

Кто-нибудь знает, как решить эту проблему?

4b9b3361

Ответ 1

В настоящее время я сталкиваюсь с той же проблемой при реализации карты OpenLayers внутри Android WebView. Кажется, это открытый вопрос с 2009 года: Проблема 4549 Обходной путь упоминается там: Используйте

 e.preventDefault() 

в каждой функции ontouch ### - (Javascript).

Другим намеком был этот ответ на SO

Это сработало для меня, но я собираюсь более подробно рассмотреть WebView-MultiTouch- Polyfill в связи с MTfix для Android (извините, как новый пользователь мне не разрешено размещать больше гиперссылок, чем два, но Google поможет вам)

Ответ 2

Я исправил эту проблему, добавив

    document.addEventListener( 'touchstart', function(e){ onStart(e); }, false );
    function onStart ( touchEvent ) {
      if( navigator.userAgent.match(/Android/i) ) {
        touchEvent.preventDefault();
      }
    }

Ответ 3

Для меня единственный способ заставить это функционировать - это присоединить событие напрямую, чтобы он был запущен перед веб-сайтом. addEventListenter было слишком поздно для меня, и мероприятие застопорилось в webCore и не появилось. Это замечание Galaxy с Android 4.0.4

Вот как я исправил это в своем экземпляре:

var myDiv = document.createElement("div");
myDiv.className = "myClass";
myDiv.id = "myId";
myDiv.setAttribute("data-open","false");
myDiv.ontouchmove = function(e) {
  //e is touch event, this is myDiv                     
  e.preventDefault();
  //e.changedTouches[0].pageX
  //http://www.w3.org/TR/touch-events/#idl-def-TouchEvent
};