Сервлеты Java - Как я обнаруживаю, если пользователь от мобильного устройства?
Я использую редактора TinyMCE javascript, и это не работает над iPhone. Как я могу обнаружить, если пользователь происходит из мобильного устройства?
Я использую редактор javascript TinyMCE
. Поскольку вы хотите изменить поведение на стороне клиента в зависимости от клиента, лучше всего обрабатывать это на стороне клиента, а не на стороне сервера.
В мире CSS вы можете подключиться к типу носителя для применения стилей в зависимости от используемого носителя. Наиболее часто используемые типы носителей - экранные (обычно ПК), портативные (обычно мобильные) и печатные (для печатной страницы).
Вы можете использовать его, чтобы скрыть редактор, просто следуя следующему правилу в вашем CSS:
@media handheld {
#elementIdContainingEditor { display: none; }
}
Вы даже можете указать отдельные таблицы стилей в зависимости от используемого носителя.
<link rel="stylesheet" href="default.css" media="screen">
<link rel="stylesheet" href="mobile.css" media="handheld">
Если проблема на самом деле заключается в том, что он не работает, потому что JavaScript отключен на конкретном клиенте, тогда вам лучше выполнить конкретный CSS, когда JS отключен:
<noscript><style>#elementIdContainingEditor { display: none; }</style></noscript>
Или, наоборот, сначала скройте его а затем показать его, когда JS включен:
<script>document.getElementById('elementIdContainingEditor').style.display = 'block';</script>
Это более надежно, чем обнюхивание агента на стороне сервера.
Используйте User-Agent в заголовке HTTP-запроса.
request.getHeader("User-Agent")
Использование request.getHeader ("User-Agent")
. Здесь - список мобильных браузеров и их соответствующих пользовательских агентов.
Единственное, что будет отличаться, - это User-Agent. Найдите в пользовательских агентах браузеры, которые вы хотите обнаружить. (Не уверен, зачем вам это нужно)
Вы также можете добавить JavaScript для запуска чего-либо в браузере?