Обнаружение вращения телефона Android в браузере с помощью JavaScript - PullRequest
181 голосов
/ 30 октября 2009

Я знаю, что в Safari на iPhone вы можете определить ориентацию экрана и изменение ориентации, прослушивая событие onorientationchange и запрашивая window.orientation для угла.

Возможно ли это в браузере на телефонах Android?

Для ясности, я спрашиваю, можно ли обнаружить вращение устройства Android с помощью JavaScript , работающего на стандартной веб-странице. Это возможно на iPhone, и мне было интересно, можно ли это сделать для телефонов Android.

Ответы [ 12 ]

0 голосов
/ 08 февраля 2012

Стоит отметить, что на моем Epic 4G Touch мне пришлось настроить веб-видение на использование WebChromeClient до того, как сработает любой вызов javascript для Android.

webView.setWebChromeClient(new WebChromeClient());
0 голосов
/ 16 августа 2011

Небольшой вклад в ответ дурачка:

Как описано в таблице на телефонах-дроидах, событие «directionchange» запускается раньше, чем событие «resize», блокируя следующий вызов resize (из-за оператора if). Свойство ширины все еще не установлено.

Обходной путь, хотя, возможно, и не идеальный, может состоять в том, чтобы не запускать событие «directionalchange». Это может быть заархивировано путем переноса привязки события «directionalchange» в оператор «if»:

if (!navigator.userAgent.match(/android/i))
{
    window.addEventListener("orientationchange", checkOrientation, false);
}

Надеюсь, это поможет

(тесты проводились на Nexus S)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...