Неправильные сенсорные события из браузера Android с мобильными проектами Dashcode - PullRequest
1 голос
/ 16 июля 2010

Я разрабатываю мобильное веб-приложение на HTML / Javascript, используя Dashcode. Обычно я не использовал бы такие WYSIWYG, но я нашел, что это очень быстрый процесс разработки.

К сожалению, похоже, что я не могу запустить его в браузере Android в настоящее время. Основной дисплей загружается и все правильные данные извлекаются из веб-служб, но вы не можете нажать на что-либо, чтобы активировать его.

Я подозреваю, что браузер Android отправляет различные события javascript, которые не могут быть настроены объектами Dashcode.

Кроме того, отладчик adb logcat отказывается выводить любые сообщения журнала из браузера на эмуляторе, и поэтому мне очень трудно разобраться с этим.

Итак, мой вопрос: может ли кто-нибудь помочь мне выяснить, какие события мне нужно отслеживать, чтобы я мог перебрать все обработчики касаний и продублировать их для событий Android или предложить любую другую помощь в этой ситуации

Ответы [ 3 ]

1 голос
/ 16 сентября 2011

По поводу, по крайней мере, события onClick у меня были похожие проблемы.Попробуйте стереть ВСЕ данные из папки развертывания.Я также использовал встроенный стиль для запуска метода «onclick» следующим образом:

                <div id="subscribeSubscriptionBtn" apple-part="com.apple.Dashcode.part.pushbutton" class="apple-no-children button" onclick="btnHandler(event);"></div>

это работало для меня на устройствах iPhone и Android 2.1 (предустановленный браузер и FF).надеюсь, что это поможет ...

1 голос
/ 18 ноября 2010

Я столкнулся с точно такой же проблемой и с моими приложениями Dashcode.С другой стороны, мои приложения jqTouch отлично работают на Android-браузере - точно так же, как на iPhone (Mobile Safari).

Это заставило меня задуматься: как jqTouch регистрируется для нажатия / нажатия / любых пользовательских событийиначе, чем Dashcode?Если кто-то может ответить на этот вопрос, мы можем быть на полпути к решению ...

0 голосов
/ 26 октября 2011

Я только что боролся с этим и думаю у меня это отсортировано.

Проблема в браузере фреймворков Jashascript Dashcode.

В Parts/core/core/base.js,строка 47:

MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)

В Parts/core/views/Page.js, строка 581:

if (!DC.Browser.MobileSafari)
{
      document.addEventListener('click', wrapEventHandler("_onclick"), false);
      document.addEventListener('dblclick', wrapEventHandler("_ondblclick"), false);
}

Dashcode неправильно определяет браузер Android как Mobile Safari, поскольку его пользовательский агент выглядит примерно так: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

В результате Dashcode не может присоединить свои прослушиватели событий click и dblclick.

Изменение строки 47 из Parts/core/core/base.js на это исправляет:

MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) && !!!navigator.userAgent.match(/Android/)
...